コード例 #1
0
def create_session(login, password, path):
    global session
    if session == None:
        session = ThreadLocalODMSession(
            bind=create_datastore('mongodb://%s:%s@%s' %
                                  (login, password, path)))
    return session
コード例 #2
0
ファイル: config.py プロジェクト: BigRLab/mldatahub
    def get_session(self):
        if 'session_uri' not in self.config_values:
            self.set_session_uri("mongodb://localhost:27017/mldatahub")

        if self.session is None:
            self.session = ThreadLocalODMSession(bind=create_datastore(self.config_values['session_uri']))
        return self.session
コード例 #3
0
def connection_session():
    from ming import create_datastore
    from ming.odm import ThreadLocalODMSession

    session = ThreadLocalODMSession(
        bind=create_datastore('mongodb://localhost:27017/tutorial')
    )
    session
    # The database and datastore are still available
    # through the session as .db and .bind
    session.db
    session.bind
コード例 #4
0
    def setUp(self):
        self.datastore = create_datastore('mim:///test_db')
        self.session = ThreadLocalODMSession(Session(bind=self.datastore))

        class Parent(MappedClass):
            class __mongometa__:
                name = 'parent'
                session = self.session

            _id = FieldProperty(S.ObjectId)

        Mapper.compile_all()
        self.Parent = Parent
        self.create_app = TestApp(MingMiddleware(self._wsgi_create_object))
        self.remove_app = TestApp(MingMiddleware(self._wsgi_remove_object))
        self.remove_exc = TestApp(MingMiddleware(self._wsgi_remove_object_exc))
コード例 #5
0
ファイル: base.py プロジェクト: sergiobrr/tgapp-registration
    def __init__(self):
        self.ming_session = Session()
        self.DBSession = ThreadLocalODMSession(self.ming_session)

        class User(MappedClass):
            class __mongometa__:
                session = self.DBSession
                name = 'tg_user'
                unique_indexes = [('user_name',), ('email_address',)]

            _id = FieldProperty(s.ObjectId)
            user_name = FieldProperty(s.String)
            email_address = FieldProperty(s.String)
            display_name = FieldProperty(s.String)
            password = FieldProperty(s.String)

        self.User = User
コード例 #6
0
    def setUp(self):
        self.datastore = create_datastore('mim:///test_db')
        self.session = ThreadLocalODMSession(Session(bind=self.datastore))

        class TestRelationParent(MappedClass):
            """This class _must_ have a unique class name or it will conflict
                with other tests."""
            class __mongometa__:
                name = 'parent'
                session = self.session

            _id = FieldProperty(S.ObjectId)

        Mapper.compile_all()
        self.Parent = TestRelationParent
        self.create_app = TestApp(MingMiddleware(self._wsgi_create_object))
        self.remove_app = TestApp(MingMiddleware(self._wsgi_remove_object))
        self.remove_exc = TestApp(MingMiddleware(self._wsgi_remove_object_exc))
コード例 #7
0
    def __init__(self):
        self.ming_session = Session()
        self.DBSession = ThreadLocalODMSession(self.ming_session)

        class User(MappedClass):
            class __mongometa__:
                session = self.DBSession
                name = 'tg_user'
                unique_indexes = [('user_name', ), ('email_address', )]

            _id = FieldProperty(s.ObjectId)
            user_name = FieldProperty(s.String)
            email_address = FieldProperty(s.String)
            display_name = FieldProperty(s.String)
            password = FieldProperty(s.String)

            @classmethod
            def by_user_name(cls, user_name):
                return cls.query.find({'user_name': user_name}).one()

        self.User = User
コード例 #8
0
#{initial-imports
from ming import Session
from ming.datastore import DataStore
from ming.odm import ThreadLocalODMSession

bind = DataStore('mongodb://localhost:27017/', database='odm_tutorial')
doc_session = Session(bind)
session = ThreadLocalODMSession(doc_session=doc_session)
#}

#{odm-imports
from ming import schema
from ming.odm import FieldProperty, ForeignIdProperty, RelationProperty
from ming.odm import Mapper
from ming.odm.declarative import MappedClass
#}

class WikiPage(MappedClass):
    
    class __mongometa__:
        session = session
        name = 'wiki_page'

    _id = FieldProperty(schema.ObjectId)
    title = FieldProperty(str)
    text = FieldProperty(str)

    comments=RelationProperty('WikiComment')

class WikiComment(MappedClass):
コード例 #9
0
ファイル: config.py プロジェクト: TheVikash/python-ming-odm
from ming import create_datastore
from ming.odm import ThreadLocalODMSession

DB_PATH = 'mongodb://localhost:27017/library'
SESSION = ThreadLocalODMSession(bind=create_datastore(DB_PATH))
コード例 #10
0
ファイル: odm_dirty.py プロジェクト: zeionara/barbershop
from ming import schema
from ming.odm import FieldProperty
from ming.odm import ForeignIdProperty
from ming.odm import RelationProperty
from ming.odm.declarative import MappedClass
import ming
from ming.odm.mapper import MapperExtension

from ming.schema import ObjectId

config = configparser.ConfigParser()
config.read('C://Users//Zerbs//accounts.sec')

session = ThreadLocalODMSession(
    bind=create_datastore('mongodb://%s:%s@%s' % (config["mongo"]["login"], 
                                                   config["mongo"]["password"],
                                                   config["mongo"]["path"]))
)
    
    
class MyExtension(MapperExtension):
    def before_insert(self, obj, st, sess):
        print("--"*20)
        #print(str(obj.worker_id))
        print(obj)
        if (TWorker.query.find().all()[0].get_by_id(str(obj.worker_id)) == None):
            raise ValueError("Worker id must match an id in table with workers")
        premium_size = TPremiumSize.query.find().all()[0].get_by_id(str(obj.premium_id))
        if (premium_size == None):
            raise ValueError("Premium id must match an id in table with premium sizes")
        
コード例 #11
0
from ming import create_datastore
from ming.odm import ThreadLocalODMSession
from ming import schema
from ming.odm import MappedClass
from ming.odm import FieldProperty

from database import datastore

session = ThreadLocalODMSession(bind=create_datastore(datastore))


class Group(MappedClass):
    class __mongometa__:
        session = session
        name = 'groups'
        # indexes = ['author.name', 'comments.author.name']

    _id = FieldProperty(schema.ObjectId)
    name = FieldProperty(schema.String, unique=True)
    item_order = FieldProperty([schema.String])


class Item(MappedClass):
    class __mongometa__:
        session = session
        name = 'items'

    _id = FieldProperty(schema.ObjectId)
    name = FieldProperty(schema.String, unique=True)
    values = FieldProperty([])
    groups = FieldProperty([schema.String])
コード例 #12
0
ファイル: base_ming.py プロジェクト: trb116/pythonanalyzer
from __future__ import absolute_import
import os
import ming
from ming import Session
from ming.odm import ThreadLocalODMSession
from ming import create_datastore
from depot.fields.ming import DepotExtension

mainsession = Session()
DBSession = ThreadLocalODMSession(mainsession, extensions=(DepotExtension, ))

database_setup = False
datastore = None


def setup_database():
    global datastore, database_setup
    if not database_setup:
        datastore = create_datastore(os.environ.get('MONGOURL', 'mim:///'))
        mainsession.bind = datastore
        ming.odm.Mapper.compile_all()


def clear_database():
    global datastore, database_setup
    if not database_setup:
        setup_database()

    try:
        # On MIM drop all data
        datastore.conn.drop_all()
コード例 #13
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Clear the class names in case MappedClasses are declared in another example
from ming.odm import Mapper
Mapper._mapper_by_classname.clear()

from ming import create_datastore
from ming.odm import ThreadLocalODMSession
session = ThreadLocalODMSession(bind=create_datastore('odm_tutorial'))

from ming import schema
from ming.odm import MappedClass
from ming.odm import FieldProperty, ForeignIdProperty, RelationProperty


class Transport(MappedClass):
    class __mongometa__:
        session = session
        name = 'transport'
        polymorphic_on = '_type'
        polymorphic_identity = 'base'

    _id = FieldProperty(schema.ObjectId)
    origin = FieldProperty(schema.String(required=True))
    destination = FieldProperty(schema.String(if_missing=''))
    _type = FieldProperty(schema.String(if_missing='base'))

    def move(self):
        return 'moving from {} to {}'.format(self.origin, self.destination)

コード例 #14
0
ファイル: mongo.py プロジェクト: devilicecream/jekyde
import os

from ming.odm import MappedClass, ThreadLocalODMSession
from ming import schema as s, create_datastore

MingSession = ThreadLocalODMSession(
    bind=create_datastore(os.getenv("MONGODB_URL")))


class Login(MappedClass):
    class __mongometa__:
        session = MingSession
        name = "logins"

    _id = s.ObjectId()
    id = s.Int()
    device_id = s.Int()
    datetime = s.DateTime()

    def __str__(self):
        return f"<Login(mongo) device_id={self.device_id} datetime={self.datetime}>"
コード例 #15
0
ファイル: ming_welcome.py プロジェクト: stb-tester/Ming
# Clear the class names in case MappedClasses are declared in another example
from ming.odm import Mapper
Mapper._mapper_by_classname.clear()

#{connect-imports
from ming import create_datastore
from ming.odm import ThreadLocalODMSession

session = ThreadLocalODMSession(bind=create_datastore('odm_welcome'))
#}

#{odm-model
from ming import schema
from ming.odm import FieldProperty
from ming.odm.declarative import MappedClass


class WikiPage(MappedClass):
    class __mongometa__:
        session = session
        name = 'wiki_page'

    _id = FieldProperty(schema.ObjectId)
    title = FieldProperty(schema.String(required=True))
    text = FieldProperty(schema.String(if_missing=''))


#}

#{compileall
from ming.odm import Mapper
コード例 #16
0
ファイル: session.py プロジェクト: rafaeldblima/py-restfull
from ming import create_datastore
from ming.odm import ThreadLocalODMSession

from api import DATABASE

session = ThreadLocalODMSession(bind=create_datastore(
    f'mongodb://{DATABASE.user}:{DATABASE.password}@'
    f'{DATABASE.host}:{DATABASE.port}/{DATABASE.dbname}?authSource=admin'))
コード例 #17
0
# --- --- -- --- --- --- #
# --- Import Modules --- #
# --- --- -- --- --- --- #

import pymongo
from pymongo import MongoClient
from bson.objectid import ObjectId

from ming import create_datastore
from ming.odm import ThreadLocalODMSession
from ming import schema
from ming.odm import MappedClass
from ming.odm import FieldProperty, ForeignIdProperty

session = ThreadLocalODMSession(
    bind=create_datastore('mongodb://localhost:27017'))

db = session.db

collections = {'users': db.users, 'people': db.people}
コード例 #18
0
from ming.odm import ThreadLocalODMSession, Mapper
from ming.odm import ForeignIdProperty, RelationProperty

from lesson_2_0 import model as M

sess = ThreadLocalODMSession(M.sess)


class Forum(object):
    pass


class Thread(object):
    pass


class Post(object):
    pass


sess.mapper(Forum,
            M.Forum,
            properties=dict(threads=RelationProperty('Thread')))
sess.mapper(Thread,
            M.Thread,
            properties=dict(forum_id=ForeignIdProperty('Forum'),
                            forum=RelationProperty('Forum'),
                            posts=RelationProperty('Post')))
sess.mapper(Post,
            M.Post,
            properties=dict(forum_id=ForeignIdProperty('Forum'),
コード例 #19
0
from ming import Session
from ming.odm import ThreadLocalODMSession

mainsession = Session()
DBSession = ThreadLocalODMSession(mainsession)
""":type :ming.odm.ODMSession """
コード例 #20
0
ファイル: conftest.py プロジェクト: devilicecream/jekyde
def ming_session():
    return ThreadLocalODMSession(
        bind=create_datastore(os.getenv("MONGODB_URL")),
    )
コード例 #21
0
    if os.path.isfile(app.config['UPLOAD_FOLDER'] + file) == False:
        # Download file to local storage
        s3_resource.Bucket(app.config['S3_BUCKET']).download_file(
            file, app.config['UPLOAD_FOLDER'] + file)


# Download recipe images from S3 into local folder on server start
for key in image_bucket.objects.all():
    # Define image name variable
    image_name = key.key
    # Download S3 file
    download_s3_file(image_name)
""" DATABASE CONNECTION """

# Create database session
session = ThreadLocalODMSession(bind=create_datastore(app.config['MONGO_URI']))

# Create recipe variable
recipes_collection = session.db.recipes

# Create user variable
users_collection = session.db.users

# Ensure all indexes
index_mapper = Mapper.ensure_all_indexes()

# Drop search index
drop_index = recipes_collection.drop_index('$**_text')

# Create search index
create_index = recipes_collection.create_index([('$**', 'text')])