diff --git a/.gitignore b/.gitignore index cfc5d5e..7701a64 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .vscode/* */__pycache__/* +__pycache__ *.pyc __local/* *.db @@ -11,3 +12,4 @@ MercurySQL.egg-info/* runtime runtime/* *.test.py + diff --git a/MercurySQL/__init__.py b/MercurySQL/__init__.py index ecf7ca0..bdfbf62 100644 --- a/MercurySQL/__init__.py +++ b/MercurySQL/__init__.py @@ -17,3 +17,10 @@ from .gensql import DataBase, Table, set_driver from . import drivers + +class SQL: + """Wrap everything together""" + DataBase = DataBase + Table = Table + set_driver = set_driver + drivers = drivers diff --git a/MercurySQL/drivers/mysql.py b/MercurySQL/drivers/mysql_driver.py similarity index 97% rename from MercurySQL/drivers/mysql.py rename to MercurySQL/drivers/mysql_driver.py index 6dd9b6b..cc84eba 100644 --- a/MercurySQL/drivers/mysql.py +++ b/MercurySQL/drivers/mysql_driver.py @@ -190,7 +190,7 @@ def parse(type_: Any) -> str: return res @staticmethod - def connect(db_name: str, host: str, user: str, passwd: str = '', force=False) -> Conn: + def connect(db_name: str, host: str, user: str, password: str = '', force=False) -> Conn: """ Connect to a MySQL database. """ @@ -198,14 +198,14 @@ def connect(db_name: str, host: str, user: str, passwd: str = '', force=False) - return mysql.connector.connect( host=host, user=user, - passwd=passwd, + passwd=password, database=db_name ) else: conn = mysql.connector.connect( host=host, user=user, - passwd=passwd + passwd=password ) conn.backup_cursor = conn.cursor diff --git a/MercurySQL/gensql/database.py b/MercurySQL/gensql/database.py index c969e61..0292917 100644 --- a/MercurySQL/gensql/database.py +++ b/MercurySQL/gensql/database.py @@ -22,6 +22,9 @@ from .table import Table +from ..drivers import sqlite + + # ========== Class Decorations ========== class DataBase: pass diff --git a/MercurySQL/gensql/table.py b/MercurySQL/gensql/table.py index 3b5d1e8..c8d2525 100644 --- a/MercurySQL/gensql/table.py +++ b/MercurySQL/gensql/table.py @@ -365,8 +365,15 @@ def insert(self, __auto=False, **kwargs) -> None: table.insert(id=1, name='Bernie', age=15, __auto=True) """ - # get keys and clean them - keys = list(kwargs.keys()) + + # if __auto is a dict + if isinstance(__auto, dict): + keys = list(__auto.keys()) + kwargs = __auto + else: + # get keys and clean them + keys = list(kwargs.keys()) + if "__auto" in keys: __auto = kwargs["__auto"] keys.remove("__auto") diff --git a/requirements.txt b/requirements.txt index ef634fa..023d895 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,6 @@ sphinx_rtd_theme # for release wheel + +# MySQL +mysql.connector