chore: remove redundant code

This commit is contained in:
Franek 2025-05-23 09:03:34 +02:00
parent 8b041c487f
commit fc468a7d70

View File

@ -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()