Add alpha and beta versions

This commit is contained in:
2026-05-24 13:51:49 +03:00
commit 12ee7eee2d
27 changed files with 1305 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
import json
import os
import hashlib
DATA_FILE = os.path.join(os.path.dirname(__file__), 'users.json')
def load_data():
if not os.path.exists(DATA_FILE):
return {}
try:
with open(DATA_FILE, 'r', encoding='utf-8') as f:
return json.load(f)
except Exception:
return {}
def save_data(data):
with open(DATA_FILE, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
def hash_password(password):
return hashlib.sha256(password.encode('utf-8')).hexdigest()
def register_user(login, password):
data = load_data()
if login in data:
return False, 'Такой пользователь уже существует'
data[login] = {
'password': hash_password(password),
'repositories': []
}
save_data(data)
return True, 'Профиль создан'
def check_user(login, password):
data = load_data()
return login in data and data[login].get('password') == hash_password(password)
def get_repositories(login):
data = load_data()
return data.get(login, {}).get('repositories', [])
def add_repository(login, repo_link):
data = load_data()
if login not in data:
return False
repos = data[login].setdefault('repositories', [])
if repo_link in repos:
return False
repos.append(repo_link)
save_data(data)
return True
def delete_repository(login, repo_link):
data = load_data()
if login in data and repo_link in data[login].get('repositories', []):
data[login]['repositories'].remove(repo_link)
save_data(data)