X-Git-Url: https://git.jsancho.org/?p=mojodb.git;a=blobdiff_plain;f=connection.py;h=7623047ca1bd0634081a1f0ba8c696e2af85e140;hp=ca67b9e297cf4e1422bee2a8885a05a04d64379e;hb=8893f5128b8e8790f186c8bf354a3bb721d69bcb;hpb=792f961fb96bb8533e540970c54f43b958d77296 diff --git a/connection.py b/connection.py index ca67b9e..7623047 100644 --- a/connection.py +++ b/connection.py @@ -20,10 +20,21 @@ ############################################################################## from database import Database +import dbutils class Connection(object): - def __init__(self, *args, **kwargs): - self._db_con = None + Query = dbutils.Query + Field = dbutils.Field + Table = dbutils.Table + Constraint = dbutils.Constraint + Literal = dbutils.Literal + + def __init__(self, serializer=None, *args, **kwargs): + if serializer is None: + import msgpack + self.serializer = msgpack + else: + self.serializer = serializer def __getattr__(self, db_name): return Database(self, db_name) @@ -39,7 +50,7 @@ class Connection(object): def database_names(self): try: - return [unicode(x) for x in self._get_databases()] + return [str(x) for x in self._get_databases()] except: return [] @@ -48,7 +59,7 @@ class Connection(object): def collection_names(self, db_name): try: - return list(set([unicode(x.split('$')[0]) for x in filter(lambda x: '$' in x, self._get_tables(db_name))])) + return list(set([str(x.split('$')[0]) for x in filter(lambda x: '$' in x, self._get_tables(db_name))])) except: return [] @@ -68,11 +79,10 @@ class Connection(object): # [{'name': 'id', 'type': 'char', 'size': 20, 'primary': True}] return None - def _get_cursor(self, db_name, query): - # {'select': [('t1$_id', 'id'), {'select': [('t1$c1', 'value')], 'from': ['t1$c1'], 'where': [(('t1$c1', 'id'), '=', ('t1$_id', 'id'))]}], 'from': ['t1$_id']} + def _get_cursor(self, query): return None - def _next(self, cursor): + def _next(self, db_name, cursor): return None def _insert(self, db_name, table_name, values):