From 4895c86f9fd0cdac832279c6210899f73a28fbf0 Mon Sep 17 00:00:00 2001 From: Izalia Mae Date: Mon, 27 Sep 2021 10:48:24 -0400 Subject: [PATCH] sql: use key:value pairs for row classes --- izzylib/sql/__init__.py | 1 + izzylib/sql/database.py | 2 +- izzylib/sql/rows.py | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) 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):