Move db.sql.open to db.open
authorSebastian Spaeth <Sebastian@SSpaeth.de>
Fri, 30 Nov 2012 08:32:25 +0000 (09:32 +0100)
committerSebastian Spaeth <Sebastian@SSpaeth.de>
Tue, 25 Dec 2012 19:09:43 +0000 (20:09 +0100)
Now that mongo has been ripped out and sqlalchemy is already providing
the database abstraction, there is no need to hide everything in the sql
module. Transition db.sql.open to db.open and adapt all direct importers.

mediagoblin/db/open.py
mediagoblin/db/sql/open.py [deleted file]
mediagoblin/db/sql/util.py
mediagoblin/gmg_commands/dbupdate.py

index e32d885357ebd04ce94a842e0219a6f039341925..801c92eaefebfed940dc603f34c6384386de5269 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/>.
 
-from mediagoblin.db.sql.open import \
-        setup_connection_and_db_from_config, check_db_migrations_current, \
-        load_models
+
+from sqlalchemy import create_engine
+import logging
+
+from mediagoblin.db.sql.base import Base, Session
+from mediagoblin import mg_globals
+
+_log = logging.getLogger(__name__)
+
+
+class DatabaseMaster(object):
+    def __init__(self, engine):
+        self.engine = engine
+
+        for k, v in Base._decl_class_registry.iteritems():
+            setattr(self, k, v)
+
+    def commit(self):
+        Session.commit()
+
+    def save(self, obj):
+        Session.add(obj)
+        Session.flush()
+
+    def check_session_clean(self):
+        for dummy in Session():
+            _log.warn("STRANGE: There are elements in the sql session. "
+                      "Please report this and help us track this down.")
+            break
+
+    def reset_after_request(self):
+        Session.rollback()
+        Session.remove()
+
+
+def load_models(app_config):
+    import mediagoblin.db.sql.models
+
+    for media_type in app_config['media_types']:
+        _log.debug("Loading %s.models", media_type)
+        __import__(media_type + ".models")
+
+    for plugin in mg_globals.global_config.get('plugins', {}).keys():
+        _log.debug("Loading %s.models", plugin)
+        try:
+            __import__(plugin + ".models")
+        except ImportError as exc:
+            _log.debug("Could not load {0}.models: {1}".format(
+                plugin,
+                exc))
+
+
+def setup_connection_and_db_from_config(app_config):
+    engine = create_engine(app_config['sql_engine'])
+    # logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
+    Session.configure(bind=engine)
+
+    return DatabaseMaster(engine)
+
+
+def check_db_migrations_current(db):
+    pass
diff --git a/mediagoblin/db/sql/open.py b/mediagoblin/db/sql/open.py
deleted file mode 100644 (file)
index 801c92e..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-# GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011, 2012 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/>.
-
-
-from sqlalchemy import create_engine
-import logging
-
-from mediagoblin.db.sql.base import Base, Session
-from mediagoblin import mg_globals
-
-_log = logging.getLogger(__name__)
-
-
-class DatabaseMaster(object):
-    def __init__(self, engine):
-        self.engine = engine
-
-        for k, v in Base._decl_class_registry.iteritems():
-            setattr(self, k, v)
-
-    def commit(self):
-        Session.commit()
-
-    def save(self, obj):
-        Session.add(obj)
-        Session.flush()
-
-    def check_session_clean(self):
-        for dummy in Session():
-            _log.warn("STRANGE: There are elements in the sql session. "
-                      "Please report this and help us track this down.")
-            break
-
-    def reset_after_request(self):
-        Session.rollback()
-        Session.remove()
-
-
-def load_models(app_config):
-    import mediagoblin.db.sql.models
-
-    for media_type in app_config['media_types']:
-        _log.debug("Loading %s.models", media_type)
-        __import__(media_type + ".models")
-
-    for plugin in mg_globals.global_config.get('plugins', {}).keys():
-        _log.debug("Loading %s.models", plugin)
-        try:
-            __import__(plugin + ".models")
-        except ImportError as exc:
-            _log.debug("Could not load {0}.models: {1}".format(
-                plugin,
-                exc))
-
-
-def setup_connection_and_db_from_config(app_config):
-    engine = create_engine(app_config['sql_engine'])
-    # logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
-    Session.configure(bind=engine)
-
-    return DatabaseMaster(engine)
-
-
-def check_db_migrations_current(db):
-    pass
index e83fbab2995b52b3241f6d7b620a0ec0e75d0fa1..e38ca1e69cb73b5b36c3d112ee3e9cd7781bdeb5 100644 (file)
@@ -320,7 +320,7 @@ def check_collection_slug_used(dummy_db, creator_id, slug, ignore_c_id):
 
 
 if __name__ == '__main__':
-    from mediagoblin.db.sql.open import setup_connection_and_db_from_config
+    from mediagoblin.db.open import setup_connection_and_db_from_config
 
     db = setup_connection_and_db_from_config({'sql_engine':'sqlite:///mediagoblin.db'})
 
index 4b3011786f67aa796fae2bb86602de01f7f13104..203179fda4e94cdf455b23aaa1e24f1e81e88421 100644 (file)
@@ -18,7 +18,7 @@ import logging
 
 from sqlalchemy.orm import sessionmaker
 
-from mediagoblin.db.sql.open import setup_connection_and_db_from_config
+from mediagoblin.db.open import setup_connection_and_db_from_config
 from mediagoblin.db.sql.util import MigrationManager
 from mediagoblin.init import setup_global_and_app_config
 from mediagoblin.tools.common import import_component