remove obsolete kontor.py
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
"""
|
||||
Prints the database kontor structure
|
||||
"""
|
||||
import mariadb
|
||||
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
|
||||
from config import get_database_cursors, get_logger
|
||||
|
||||
parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
|
||||
parser.add_argument('--verbose', '-v', action='count', default=0)
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
def show_tables(cur, log):
|
||||
"""
|
||||
Retrieves the list of tables from the database
|
||||
:param cur:
|
||||
:param log:
|
||||
:return:
|
||||
"""
|
||||
log.info('get list of tables')
|
||||
table_list = []
|
||||
cur.execute("SHOW TABLES")
|
||||
for (tablename,) in cur.fetchall():
|
||||
table_list.append(tablename)
|
||||
return table_list
|
||||
|
||||
|
||||
def get_field_info(cur):
|
||||
"""
|
||||
Retrieves the field info associated with a cursor
|
||||
:param cur:
|
||||
:return:
|
||||
"""
|
||||
field_info = mariadb.fieldinfo()
|
||||
field_info_text_list = []
|
||||
for column in cur.description:
|
||||
column_name = column[0]
|
||||
column_type = field_info.type(column)
|
||||
column_flags = field_info.flag(column)
|
||||
field_info_text_list.append(f"{column_name}: {column_type} {column_flags}")
|
||||
return field_info_text_list
|
||||
|
||||
|
||||
def get_table_field_info(cur, tablename):
|
||||
"""
|
||||
Retrieves the field info associated with a table
|
||||
:param cur:
|
||||
:param tablename:
|
||||
:return:
|
||||
"""
|
||||
cur.execute(f"SELECT * FROM {tablename} LIMIT 1")
|
||||
field_info = get_field_info(cur)
|
||||
return field_info
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
logger = get_logger(args.verbose)
|
||||
logger.info("kontor.db_structure started")
|
||||
_, mariadb_conn = get_database_cursors(logger)
|
||||
tables = show_tables(mariadb_conn.cursor(), logger)
|
||||
for table in tables:
|
||||
field_info_text = get_table_field_info(mariadb_conn.cursor(), table)
|
||||
print(f"Columns in table {table}:")
|
||||
print("\n".join(field_info_text))
|
||||
print("\n")
|
||||
mariadb_conn.close()
|
||||
logger.info("kontor.db_structure finished")
|
||||
Reference in New Issue
Block a user