class custom_database_wrapper(object): def __init__(self, settings, **kwargs): self.new_wrapper = DatabaseWrapper(dict(connection.settings_dict, **settings), **kwargs) def __enter__(self): self._old_connection = getattr(connections._connections, "default") connections._connections.default = self.new_wrapper self.new_wrapper._connect() return self.new_wrapper def __exit__(self, *exc_info): self.new_wrapper.connection.disconnect() connections._connections.default = self._old_connection
class custom_database_wrapper(object): def __init__(self, settings, **kwargs): self.new_wrapper = DatabaseWrapper( dict(connection.settings_dict, **settings), **kwargs) def __enter__(self): self._old_connection = getattr(connections._connections, 'default') connections._connections.default = self.new_wrapper self.new_wrapper._connect() return self.new_wrapper def __exit__(self, *exc_info): self.new_wrapper.connection.close() connections._connections.default = self._old_connection
def test_databasewrapper_api(self): from pymongo.connection import Connection from pymongo.database import Database from pymongo.collection import Collection from random import shuffle if settings.DEBUG: from django_mongodb_engine.utils import CollectionDebugWrapper as Collection for wrapper in [connection, DatabaseWrapper(connection.settings_dict)]: calls = [ lambda: self.assertIsInstance(wrapper.get_collection('foo'), Collection), lambda: self.assertIsInstance(wrapper.database, Database), lambda: self.assertIsInstance(wrapper.connection, Connection) ] shuffle(calls) for call in calls: call()
def __init__(self, settings, **kwargs): self.new_wrapper = DatabaseWrapper( dict(connection.settings_dict, **settings), **kwargs)