diff --git a/izzylib/sql/__init__.py b/izzylib/sql/__init__.py index 1c9d708..3591eac 100644 --- a/izzylib/sql/__init__.py +++ b/izzylib/sql/__init__.py @@ -2,6 +2,7 @@ from .database import Database, OperationalError, ProgrammingError from .session import Session from .column import Column +from .rows import Row, RowClasses ## Sqlite server #from .sqlite_server import SqliteClient, SqliteColumn, SqliteServer, SqliteSession diff --git a/izzylib/sql/database.py b/izzylib/sql/database.py index 072d748..355a569 100644 --- a/izzylib/sql/database.py +++ b/izzylib/sql/database.py @@ -28,7 +28,7 @@ class Database: self.cache = None self.config = DotDict() self.meta = MetaData() - self.classes = RowClasses(*kwargs.get('row_classes', [])) + self.classes = RowClasses(**kwargs.get('row_classes', {})) self.cache = None self.session_class = kwargs.get('session_class', Session) diff --git a/izzylib/sql/rows.py b/izzylib/sql/rows.py index e2c3794..5280aed 100644 --- a/izzylib/sql/rows.py +++ b/izzylib/sql/rows.py @@ -3,11 +3,11 @@ from ..dotdict import DotDict class RowClasses(DotDict): - def __init__(self, *classes): + def __init__(self, **classes): super().__init__() - for rowclass in classes: - self.update({rowclass.__name__.lower(): rowclass}) + for k,v in classes.items(): + self[k] = v def get_class(self, name):