From 1422a25cd5390404221f12b6a08cca6b35e9b776 Mon Sep 17 00:00:00 2001 From: Carson Fleming Date: Wed, 2 Oct 2024 01:52:23 -0400 Subject: Initial version with debug prints --- key_loader.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 key_loader.py (limited to 'key_loader.py') diff --git a/key_loader.py b/key_loader.py new file mode 100644 index 0000000..4867d07 --- /dev/null +++ b/key_loader.py @@ -0,0 +1,38 @@ +import config +import mysql.connector as mysql +import pgpy + +def load_keys(addrs: list[str]) -> list[pgpy.PGPKey]: + if len(addrs) < 1: + return [] + + db = mysql.connect(**config.db_config) + try: + stmt = db.cursor() + except Exception as e: + db.close() + raise e + + try: + stmt.execute(\ + format_multiquery(config.key_loader_query, len(addrs)), \ + tuple(addrs) \ + ) + + keys = {} + for (keyfpr, keydata) in stmt: + if keyfpr in keys: + continue + key = pgpy.PGPKey() + try: + key.parse(keydata) + except: + continue + + return list(keys.values()) + finally: + stmt.close() + db.close() + +def format_multiquery(query: str, n_items: int) -> str: + return query % (', '.join(['%s'] * n_items),) -- cgit v1.2.3