From fc468a7d70e09ec4aaa890cf2dc75931277e11f7 Mon Sep 17 00:00:00 2001 From: Franek Date: Fri, 23 May 2025 09:03:34 +0200 Subject: [PATCH] chore: remove redundant code --- manage.py | 77 +++++++++++++++++++++---------------------------------- 1 file changed, 29 insertions(+), 48 deletions(-) diff --git a/manage.py b/manage.py index cacdcc2..d1812e0 100644 --- a/manage.py +++ b/manage.py @@ -5,14 +5,33 @@ import json DB_NAME = 'form_filler.db' conn = sqlite3.connect(DB_NAME) -def add_website(address): +def add_website(address, json_data): + try: + form_fields = json.loads(json_data) + form_fields["task"] = "form.message" + except json.JSONDecodeError: + print("Nieprawidłowy JSON!") + return + try: conn.execute("INSERT INTO websites (address) VALUES (?)", (address,)) - conn.commit() - print(f"Dodano stronę {address}") - except sqlite3.IntegrityError: - print(f"Strona już istnieje w bazie!") + conn.execute("INSERT INTO data (website_address, form_fields) VALUES (?, ?)", + (address, json.dumps(form_fields))) + conn.commit() + print(f"Dodano stronę {address} z podanymi polami.") + except sqlite3.IntegrityError: + print(f"Strona już istnieje w bazie! Użyj flagi --remove aby ją usunąć.") + +def remove_website(address): + cur = conn.execute("DELETE FROM websites WHERE address = ?", (address,)) + conn.commit() + + if cur.rowcount: + print(f"Usunięto dane strony o adresie {address}") + else: + print(f"Nie znaleziono strony o adresie {address}") + def list_websites(): rows = conn.execute("SELECT id, address, active FROM websites").fetchall() for row in rows: @@ -23,61 +42,23 @@ def set_active_status(address, status): conn.commit() print(f"Ustawiono testowanie formularza w witrynie {address}") -def add_data_json(website_address, form_fields_str): - try: - form_fields = json.loads(form_fields_str) - except json.JSONDecodeError: - print("Nieprawidłowy JSON!") - return - - conn.execute("INSERT INTO data (website_address, form_fields) VALUES (?, ?)", - (website_address, json.dumps(form_fields))) - conn.commit() - - print(f"Dodano dane formularza dla {website_address}") - -def list_data(website_address=None): - if website_address: - rows = conn.execute("SELECT id, website_address, form_fields FROM data WHERE website_address = ?", (website_address,)).fetchall() - else: - rows = conn.execute("SELECT id, website_address, form_fields FROM data").fetchall() - - for row in rows: - print(f"[{row[0]}] Strona: {row[1]}") - print(json.dumps(json.loads(row[2]), indent=2)) - print("---") - -def remove_form_data(address): - cur = conn.execute("DELETE FROM data WHERE website_address = ?", (address,)) - conn.commit() - if cur.rowcount: - print(f"Usunięto dane formularza o adresie {address}") - else: - print(f"Nie znaleziono danych formularza o adresie {address}") - def cli(): parser = argparse.ArgumentParser() - parser.add_argument("--add", help="Dodaj nową witrynę") + parser.add_argument("--add", nargs=2, metavar=("address", "fields"), help="Dodaj nową witrynę") + parser.add_argument("--remove", help="Usuń witrynę z bazy danych") parser.add_argument("--active", nargs=2, metavar=("address", "0|1"), help="Włącz/wyłącz testowanie formularza na witrynie") parser.add_argument("--list", action="store_true", help="Pokaż listę witryn") - parser.add_argument("--add-form-data", nargs=2, metavar=("address", "json_data"), help="Dodaj dane formularza (JSON!)") - parser.add_argument("--remove-form-data", help="Usuń dane formularza o podanym adresie") - parser.add_argument("--list-form-data", nargs="?", const="", metavar="address", help="Wypisz dane formularza dla wszystkich stron") args = parser.parse_args() if args.add: - add_website(args.add) + add_website(args.add[0], args.add[1]) + elif args.remove: + remove_website(args.remove) elif args.active: set_active_status(args.active[0], bool(int(args.active[1]))) elif args.list: list_websites() - elif args.add_form_data: - add_data_json(args.add_form_data[0], args.add_form_data[1]) - elif args.remove_form_data: - remove_form_data(args.remove_form_data) - elif args.list_form_data is not None: - list_data(args.list_form_data if args.list_form_data else None) if __name__ == "__main__": cli()