def configure_from_nested_dict(config): try: from formencode import schema, validators except ImportError: raise MingConfigError( "Need to install FormEncode to use ``ming.configure``") class DatastoreSchema(schema.Schema): allow_extra_fields = True uri = validators.UnicodeString(if_missing=None, if_empty=None) database = validators.UnicodeString(if_missing=None, if_empty=None) connect_retry = validators.Number(if_missing=3, if_empty=0) auto_ensure_indexes = validators.StringBool(if_missing=True) # pymongo tz_aware = validators.Bool(if_missing=False) datastores = {} for name, datastore in six.iteritems(config): args = DatastoreSchema.to_python(datastore, None) database = args.pop("database", None) if database is None: datastores[name] = create_datastore(**args) else: datastores[name] = create_datastore(database=database, **args) Session._datastores = datastores # bind any existing sessions for name, session in six.iteritems(Session._registry): session.bind = datastores.get(name, None) session._name = name
def configure_from_nested_dict(config): datastores = {} for name, datastore in six.iteritems(config): args = DatastoreSchema.to_python(datastore, None) database = args.pop('database', None) if database is None: datastores[name] = create_datastore(**args) else: datastores[name] = create_datastore(database, **args) Session._datastores = datastores # bind any existing sessions for name, session in six.iteritems(Session._registry): session.bind = datastores.get(name, None) session._name = name
def setup_database(): global bind, database_setup if not database_setup: bind = create_datastore('mim:///test') mainsession.bind = bind ming.odm.Mapper.compile_all() database_setup = True
from ming.datastore import create_datastore from ming.datastore import DataStore from ming.odm import ThreadLocalODMSession from ming.odm import Mapper #session = Session() #DBSession = ThreadLocalODMSession(session) DBSession = ThreadLocalODMSession( bind=create_datastore( 'mongodb://localhost:27017/wi-amazon')) Mapper.compile_all() def init_mongo(engine): server, database = engine datastore = DataStore(server, database) session.bind = datastore Mapper.compile_all()