sql: use key:value pairs for row classes
This commit is contained in:
parent
5e3f36af44
commit
4895c86f9f
|
@ -2,6 +2,7 @@
|
||||||
from .database import Database, OperationalError, ProgrammingError
|
from .database import Database, OperationalError, ProgrammingError
|
||||||
from .session import Session
|
from .session import Session
|
||||||
from .column import Column
|
from .column import Column
|
||||||
|
from .rows import Row, RowClasses
|
||||||
|
|
||||||
## Sqlite server
|
## Sqlite server
|
||||||
#from .sqlite_server import SqliteClient, SqliteColumn, SqliteServer, SqliteSession
|
#from .sqlite_server import SqliteClient, SqliteColumn, SqliteServer, SqliteSession
|
||||||
|
|
|
@ -28,7 +28,7 @@ class Database:
|
||||||
self.cache = None
|
self.cache = None
|
||||||
self.config = DotDict()
|
self.config = DotDict()
|
||||||
self.meta = MetaData()
|
self.meta = MetaData()
|
||||||
self.classes = RowClasses(*kwargs.get('row_classes', []))
|
self.classes = RowClasses(**kwargs.get('row_classes', {}))
|
||||||
self.cache = None
|
self.cache = None
|
||||||
|
|
||||||
self.session_class = kwargs.get('session_class', Session)
|
self.session_class = kwargs.get('session_class', Session)
|
||||||
|
|
|
@ -3,11 +3,11 @@ from ..dotdict import DotDict
|
||||||
|
|
||||||
|
|
||||||
class RowClasses(DotDict):
|
class RowClasses(DotDict):
|
||||||
def __init__(self, *classes):
|
def __init__(self, **classes):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
for rowclass in classes:
|
for k,v in classes.items():
|
||||||
self.update({rowclass.__name__.lower(): rowclass})
|
self[k] = v
|
||||||
|
|
||||||
|
|
||||||
def get_class(self, name):
|
def get_class(self, name):
|
||||||
|
|
Loading…
Reference in a new issue