sql: use key:value pairs for row classes

This commit is contained in:
Izalia Mae 2021-09-27 10:48:24 -04:00
parent 5e3f36af44
commit 4895c86f9f
3 changed files with 5 additions and 4 deletions

View file

@ -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

View file

@ -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)

View file

@ -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):