update for change to etsicatalog
[modeling/etsicatalog.git] / catalog / pub / redisco / __init__.py
diff --git a/catalog/pub/redisco/__init__.py b/catalog/pub/redisco/__init__.py
new file mode 100644 (file)
index 0000000..217a232
--- /dev/null
@@ -0,0 +1,58 @@
+#  Copyright (c) 2010 Tim Medina
+#
+#  Permission is hereby granted, free of charge, to any person
+#  obtaining a copy of this software and associated documentation
+#  files (the "Software"), to deal in the Software without
+#  restriction, including without limitation the rights to use,
+#  copy, modify, merge, publish, distribute, sublicense, and/or sell
+#  copies of the Software, and to permit persons to whom the
+#  Software is furnished to do so, subject to the following
+#  conditions:
+#
+#  The above copyright notice and this permission notice shall be
+#  included in all copies or substantial portions of the Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+#  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+#  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+#  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+#  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+#  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+#  OTHER DEALINGS IN THE SOFTWARE.
+#
+#  The original code link is https://github.com/iamteem/redisco/tree/master/redisco/__init__.py
+
+
+import redis
+
+
+class Client(object):
+    def __init__(self, **kwargs):
+        self.connection_settings = kwargs or {'host': 'localhost', 'port': 6379, 'db': 0}
+
+    def redis(self):
+        return redis.Redis(**self.connection_settings)
+
+    def update(self, d):
+        self.connection_settings.update(d)
+
+
+def connection_setup(**kwargs):
+    global connection, client
+    if client:
+        client.update(kwargs)
+    else:
+        client = Client(**kwargs)
+    connection = client.redis()
+
+
+def get_client():
+    global connection
+    return connection
+
+
+client = Client()
+connection = client.redis()
+
+__all__ = ['connection_setup', 'get_client']