This commit is contained in:
neon
2026-04-02 10:33:23 -04:00
parent b9a752df87
commit 0433641ebb
15 changed files with 736 additions and 0 deletions

118
utils.py Normal file
View File

@@ -0,0 +1,118 @@
import json
import os
def user_add(new_user, new_password):
"""Dodaje nowego użytkownika lub aktualizuje hasło"""
file_path = "file.json"
# Wczytanie pliku JSON
if os.path.exists(file_path):
with open(file_path, "r") as f:
try:
data = json.load(f)
except json.JSONDecodeError:
data = {"users": []}
else:
data = {"users": []}
# Sprawdź czy użytkownik już istnieje
for entry in data["users"]:
if entry.get("user") == new_user:
# Aktualizuj hasło
entry["password"] = new_password
with open(file_path, "w") as f:
json.dump(data, f, indent=4)
return False # Zaktualizowano
# Dodaj nowego użytkownika
new_entry = {"user": new_user, "password": new_password}
data["users"].append(new_entry)
# Zapis do pliku JSON
with open(file_path, "w") as f:
json.dump(data, f, indent=4)
return True # Dodano nowego
def is_person(user_to_find):
"""Sprawdza czy użytkownik istnieje - zwraca 1 lub 0"""
file_path = "file.json"
try:
with open(file_path, "r") as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return 0
for entry in data.get("users", []):
if entry.get("user") == user_to_find:
return 1
return 0
def verify_password(user_to_check, password_to_check):
"""Sprawdza hasło bez usuwania użytkownika"""
file_path = "file.json"
try:
with open(file_path, "r") as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return False
for entry in data.get("users", []):
if entry.get("user") == user_to_check:
return entry.get("password") == password_to_check
return False
def get_user_data(user_to_find):
"""Pobiera dane użytkownika bez usuwania"""
file_path = "file.json"
try:
with open(file_path, "r") as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return None
for entry in data.get("users", []):
if entry.get("user") == user_to_find:
return {"user": entry["user"], "password": entry["password"]}
return None
def get_all_users():
"""Zwraca listę wszystkich użytkowników"""
file_path = "file.json"
try:
with open(file_path, "r") as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return []
return data.get("users", [])
def delete_user(user_to_delete):
"""Usuwa użytkownika z bazy"""
file_path = "file.json"
try:
with open(file_path, "r") as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return False
for i, entry in enumerate(data.get("users", [])):
if entry.get("user") == user_to_delete:
data["users"].pop(i)
with open(file_path, "w") as f:
json.dump(data, f, indent=4)
return True
return False