From 78e51b7be1055b11216f45caa96e6a2bb1d02837 Mon Sep 17 00:00:00 2001 From: SpudGunMan Date: Sat, 18 Jan 2025 16:06:40 -0800 Subject: [PATCH] Update qrz.py --- modules/qrz.py | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/modules/qrz.py b/modules/qrz.py index da2f82d..48dede7 100644 --- a/modules/qrz.py +++ b/modules/qrz.py @@ -18,19 +18,33 @@ def never_seen_before(nodeID): # check if we have seen this node before and sent a hello message conn = sqlite3.connect(qrz_db) c = conn.cursor() - c.execute("SELECT * FROM qrz WHERE qrz_call = ?", (nodeID,)) - row = c.fetchone() - conn.close() - if row is None: - return True - else: - return False + try: + c.execute("SELECT * FROM qrz WHERE qrz_call = ?", (nodeID,)) + row = c.fetchone() + conn.close() + if row is None: + return True + else: + return False + except sqlite3.OperationalError as e: + if "no such table" in str(e): + initalize_qrz_database() + return True + else: + raise def hello(nodeID, name, qth, notes): # send a hello message conn = sqlite3.connect(qrz_db) c = conn.cursor() - c.execute("INSERT INTO qrz (qrz_call, qrz_name, qrz_qth, qrz_notes) VALUES (?, ?, ?, ?)", (nodeID, name, qth, notes)) + try: + c.execute("INSERT INTO qrz (qrz_call, qrz_name, qrz_qth, qrz_notes) VALUES (?, ?, ?, ?)", (nodeID, name, qth, notes)) + except sqlite3.OperationalError as e: + if "no such table" in str(e): + initalize_qrz_database() + c.execute("INSERT INTO qrz (qrz_call, qrz_name, qrz_qth, qrz_notes) VALUES (?, ?, ?, ?)", (nodeID, name, qth, notes)) + else: + raise conn.commit() conn.close() return True