diff --git a/kontor-scripts/config.py b/kontor-scripts/config.py index d8f5195..80a268b 100644 --- a/kontor-scripts/config.py +++ b/kontor-scripts/config.py @@ -2,7 +2,6 @@ Setup database connections """ import sqlite3 -import mariadb import psycopg2 import logging.config from platformdirs import PlatformDirs @@ -19,13 +18,6 @@ def get_database_cursors(log, config: str): log.info('using SQLite3 database {}'.format(sqlite_db)) sqlite_conn = sqlite3.connect(sqlite_db, detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES) mariadb_conn = None -# mariadb_conn = mariadb.connect( -# host=db_config['mariadb']['host'], -# port=db_config['mariadb']['port'], -# user=db_config['mariadb']['user'], -# password=db_config['mariadb']['password'], -# database=db_config['mariadb']['database'] -# ) postgres_conn = psycopg2.connect(f"host={db_config['postgres']['host']} port={db_config['postgres']['port']} user={db_config['postgres']['user']} password={db_config['postgres']['password']} dbname={db_config['postgres']['database']}") return sqlite_conn, mariadb_conn, postgres_conn @@ -62,60 +54,3 @@ def get_logger(level, config: str): logger.setLevel(logging.INFO) return logger - -def get_meta_data(mariadb_conn): - mariadb_cursor = mariadb_conn.cursor() - select_statement = "SELECT id, table_name FROM meta_data_table" - mariadb_cursor.execute(select_statement) - rows = mariadb_cursor.fetchall() - meta_data = {} - for (identifier, table_name) in rows: - table_data = {"name": table_name} - mariadb_cursor.execute("SELECT column_name, column_sync_name, column_type, column_modifier, column_order FROM meta_data_column WHERE table_id=?", (identifier, )) - column_rows = mariadb_cursor.fetchall() - column_list = [] - for (column_name, column_sync_name, column_type, column_modifier, column_order) in column_rows: - column_data = {"column_name": column_name, "column_sync_name": column_sync_name, "column_type": column_type, - "column_modifier": column_modifier, "column_order": column_order} - column_list.append(column_data) - # logger.info(column_list) - table_data["columns"] = column_list - meta_data[identifier] = table_data - return meta_data - - -def get_scripts(meta_data, logger): - scripts_map = {} - for table_id in meta_data: - table_scripts = {} - m_columns = [] - s_columns = [] - columns = [] - for column_data in meta_data[table_id]["columns"]: - column_line = "{} {}".format(column_data["column_sync_name"], column_data["column_type"]) - if column_data["column_modifier"]: - column_line += " " + column_data["column_modifier"] - columns.append(column_line) - m_columns.append(column_data['column_name']) - s_columns.append(column_data['column_sync_name']) - table_name = meta_data[table_id]["name"] - create_statement = "CREATE TABLE IF NOT EXISTS {} ({});".format(table_name, ", ".join(columns)) - drop_statement = 'DROP TABLE IF EXISTS {}'.format(table_name) - select_mariadb_statement = 'SELECT {} FROM {}'.format(', '.join(m_columns), table_name) - select_sqlite_statement = 'SELECT {} FROM {}'.format(', '.join(s_columns), table_name) - insert_sqlite_statement = 'INSERT INTO {}({}) VALUES({})'.format(table_name, ', '.join(s_columns), ', '.join(['?']*len(s_columns))) - insert_mariadb_statement = 'INSERT INTO {}({}) VALUES({})'.format(table_name, ', '.join(m_columns), ', '.join(['?']*len(m_columns))) - truncate_mariadb_statement = 'TRUNCATE {}'.format(table_name) - #logger.debug(create_statement) - #logger.debug(select_mariadb_statement) - table_scripts["create"] = create_statement - table_scripts["drop"] = drop_statement - table_scripts["select_mariadb"] = select_mariadb_statement - table_scripts["select_sqlite"] = select_sqlite_statement - table_scripts["insert_sqlite"] = insert_sqlite_statement - table_scripts["insert_mariadb"] = insert_mariadb_statement - table_scripts["truncate_mariadb"] = truncate_mariadb_statement - table_scripts["count"] = "SELECT COUNT(*) FROM {}".format(table_name) - table_scripts["name"] = table_name - scripts_map[table_id] = table_scripts - return scripts_map diff --git a/kontor-scripts/db/models/comic.py b/kontor-scripts/db/models/comic.py index 07da295..f8bc034 100644 --- a/kontor-scripts/db/models/comic.py +++ b/kontor-scripts/db/models/comic.py @@ -203,7 +203,10 @@ class Issue(Base, BaseMixin): self.version = import_data['version'] self.issue_number = import_data['issue_number'] self.title = import_data['title'] - self.published_on = import_data['published_on'] + if import_data['published_on'] == 'None': + self.published_on = None + else: + self.published_on = import_data['published_on'] self.in_stock = import_data['in_stock'] self.is_read = import_data['is_read'] self.comic_id = import_data['comic_id']