Add develover sql switch
[mediagoblin.git] / mediagoblin / db / open.py
index e677ba12128340a624e93d61ccd6a820a4ab0bf0..6cd178691ff87e57741c41c1156204d854fc3432 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)
+try:
+    from mediagoblin.db.sql_switch import use_sql
+except ImportError:
+    use_sql = False
+
+if use_sql:
+    from mediagoblin.db.sql.open import \
+        setup_connection_and_db_from_config, check_db_migrations_current
+else:
+    from mediagoblin.db.mongo.open import \
+        setup_connection_and_db_from_config, check_db_migrations_current