mongoengine/mongomap/__init__.py
Harry Marr 688fd5af66 Added connect(), document data now stored as Python
Added document length, contains, etc with tests
2009-11-17 12:32:42 +00:00

41 lines
1.1 KiB
Python

import document
from document import *
import fields
from fields import *
from pymongo import Connection
__all__ = document.__all__ + fields.__all__ + ['connect']
__author__ = 'Harry Marr'
__version__ = '0.1'
_connection_settings = {
'host': 'localhost',
'port': 27017,
'pool_size': 1,
}
_connection = None
_db = None
def _get_connection():
if _connection is None:
_connection = Connection(**_connection_settings)
return _connection
def connect(db=None, username=None, password=None, **kwargs):
"""Connect to the database specified by the 'db' argument. Connection
settings may be provided here as well if the database is not running on
the default port on localhost. If authentication is needed, provide
username and password arguments as well.
"""
if db is None:
raise TypeError('"db" argument must be provided to connect()')
_connection_settings.update(kwargs)
connection = _get_connection()
# Get DB from connection and auth if necessary
_db = connection[db]
if username is not None and password is not None:
_db.authenticate(username, password)