Move db/open.py to db/mongo/open.py
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Tue, 20 Dec 2011 18:06:04 +0000 (19:06 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Tue, 20 Dec 2011 18:06:04 +0000 (19:06 +0100)
Starting to move the mongo specific stuff into db/mongo.
And create thin "from db.mongo.Y import z" wrappers in
db/Y.py.

Why?
1) Will make it lots easier to switch to sql for
   testing/developing.
2) The mongo stuff needs to stay around after moving to
   sql, because the converter needs it.

mediagoblin/db/mongo/__init__.py [new file with mode: 0644]
mediagoblin/db/mongo/open.py [new file with mode: 0644]
mediagoblin/db/open.py

diff --git a/mediagoblin/db/mongo/__init__.py b/mediagoblin/db/mongo/__init__.py
new file mode 100644 (file)
index 0000000..ba347c6
--- /dev/null
@@ -0,0 +1,15 @@
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011 MediaGoblin contributors.  See AUTHORS.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
diff --git a/mediagoblin/db/mongo/open.py b/mediagoblin/db/mongo/open.py
new file mode 100644 (file)
index 0000000..e677ba1
--- /dev/null
@@ -0,0 +1,55 @@
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011 MediaGoblin contributors.  See AUTHORS.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import pymongo
+import mongokit
+from paste.deploy.converters import asint
+from mediagoblin.db import models
+
+
+def connect_database_from_config(app_config, use_pymongo=False):
+    """
+    Connect to the main database, take config from app_config
+
+    Optionally use pymongo instead of mongokit for the connection.
+    """
+    port = app_config.get('db_port')
+    if port:
+        port = asint(port)
+
+    if use_pymongo:
+        connection = pymongo.Connection(
+            app_config.get('db_host'), port)
+    else:
+        connection = mongokit.Connection(
+            app_config.get('db_host'), port)
+    return connection
+
+
+def setup_connection_and_db_from_config(app_config, use_pymongo=False):
+    """
+    Setup connection and database from config.
+
+    Optionally use pymongo instead of mongokit.
+    """
+    connection = connect_database_from_config(app_config, use_pymongo)
+    database_path = app_config['db_name']
+    db = connection[database_path]
+
+    if not use_pymongo:
+        models.register_models(connection)
+
+    return (connection, db)
index e677ba12128340a624e93d61ccd6a820a4ab0bf0..a92a6ada33a832711eb3d5f9ee4862c001eef324 100644 (file)
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-import pymongo
-import mongokit
-from paste.deploy.converters import asint
-from mediagoblin.db import models
-
-
-def connect_database_from_config(app_config, use_pymongo=False):
-    """
-    Connect to the main database, take config from app_config
-
-    Optionally use pymongo instead of mongokit for the connection.
-    """
-    port = app_config.get('db_port')
-    if port:
-        port = asint(port)
-
-    if use_pymongo:
-        connection = pymongo.Connection(
-            app_config.get('db_host'), port)
-    else:
-        connection = mongokit.Connection(
-            app_config.get('db_host'), port)
-    return connection
-
-
-def setup_connection_and_db_from_config(app_config, use_pymongo=False):
-    """
-    Setup connection and database from config.
-
-    Optionally use pymongo instead of mongokit.
-    """
-    connection = connect_database_from_config(app_config, use_pymongo)
-    database_path = app_config['db_name']
-    db = connection[database_path]
-
-    if not use_pymongo:
-        models.register_models(connection)
-
-    return (connection, db)
+from mediagoblin.db.mongo.open import setup_connection_and_db_from_config