aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mongo/open.py
diff options
context:
space:
mode:
authorSebastian Spaeth <Sebastian@SSpaeth.de>2012-11-29 17:23:28 +0100
committerSebastian Spaeth <Sebastian@SSpaeth.de>2012-12-25 20:06:03 +0100
commitbc142abc5592975c08319416d0af12c108504887 (patch)
tree45d2d0339768ca78b3bef37bb9c887e932470091 /mediagoblin/db/mongo/open.py
parent351fd95fff98d389711a1aa9cc3ba5d661a9b433 (diff)
downloadmediagoblin-bc142abc5592975c08319416d0af12c108504887.tar.lz
mediagoblin-bc142abc5592975c08319416d0af12c108504887.tar.xz
mediagoblin-bc142abc5592975c08319416d0af12c108504887.zip
RIP out mongo
Since sqlalchemy is providing our database abstraction and we have moved away from Mongo as the underlying database, it is now time to simplify things and rip out mongo. This provides the bulk of the changes, and can stand on its own. There are some followup tasks that can be done, such as removing now unneeded abstraction layers, e.g. db.sql.fake.py
Diffstat (limited to 'mediagoblin/db/mongo/open.py')
-rw-r--r--mediagoblin/db/mongo/open.py82
1 files changed, 0 insertions, 82 deletions
diff --git a/mediagoblin/db/mongo/open.py b/mediagoblin/db/mongo/open.py
deleted file mode 100644
index c4f37b42..00000000
--- a/mediagoblin/db/mongo/open.py
+++ /dev/null
@@ -1,82 +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/>.
-
-import pymongo
-import mongokit
-from paste.deploy.converters import asint
-from mediagoblin.db.mongo import models
-from mediagoblin.db.mongo.util import MigrationManager
-
-
-def load_models(app_config):
- pass
-
-
-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)
-
-
-def check_db_migrations_current(db):
- # This MUST be imported so as to set up the appropriate migrations!
- from mediagoblin.db.mongo import migrations
-
- # Init the migration number if necessary
- migration_manager = MigrationManager(db)
- migration_manager.install_migration_version_if_missing()
-
- # Tiny hack to warn user if our migration is out of date
- if not migration_manager.database_at_latest_migration():
- db_migration_num = migration_manager.database_current_migration()
- latest_migration_num = migration_manager.latest_migration()
- if db_migration_num < latest_migration_num:
- print (
- "*WARNING:* Your migrations are out of date, "
- "maybe run ./bin/gmg migrate?")
- elif db_migration_num > latest_migration_num:
- print (
- "*WARNING:* Your migrations are out of date... "
- "in fact they appear to be from the future?!")