🐛 memory.py: исправлена опечатка /data -> /"data"
This commit is contained in:
+24
-32
@@ -1,31 +1,28 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
DB_DIR = Path(__file__).resolve().parent.parent.parent / data
|
DB_DIR = Path(__file__).resolve().parent.parent.parent / "data"
|
||||||
DB_DIR.mkdir(exist_ok=True)
|
DB_DIR.mkdir(exist_ok=True)
|
||||||
|
|
||||||
USERS_FILE = DB_DIR / users.json
|
USERS_FILE = DB_DIR / "users.json"
|
||||||
BOOKINGS_FILE = DB_DIR / bookings.json
|
BOOKINGS_FILE = DB_DIR / "bookings.json"
|
||||||
|
|
||||||
|
|
||||||
def _load_json(path, default):
|
def _load_json(path, default):
|
||||||
if path.exists():
|
if path.exists():
|
||||||
try:
|
try:
|
||||||
with open(path, r, encoding=utf-8) as f:
|
with open(path, "r", encoding="utf-8") as fh:
|
||||||
return json.load(f)
|
return json.load(fh)
|
||||||
except (json.JSONDecodeError, OSError):
|
except (json.JSONDecodeError, OSError):
|
||||||
return default
|
return default
|
||||||
return default
|
return default
|
||||||
|
|
||||||
|
|
||||||
def _save_json(path, data):
|
def _save_json(path, data):
|
||||||
with open(path, w, encoding=utf-8) as f:
|
with open(path, "w", encoding="utf-8") as fh:
|
||||||
json.dump(data, f, ensure_ascii=False, indent=2)
|
json.dump(data, fh, ensure_ascii=False, indent=2)
|
||||||
|
|
||||||
|
|
||||||
# ——— Users ———
|
|
||||||
|
|
||||||
def load_users():
|
def load_users():
|
||||||
return _load_json(USERS_FILE, {})
|
return _load_json(USERS_FILE, {})
|
||||||
|
|
||||||
@@ -45,8 +42,6 @@ def set_user(user_id, data):
|
|||||||
save_users(users)
|
save_users(users)
|
||||||
|
|
||||||
|
|
||||||
# ——— Bookings ———
|
|
||||||
|
|
||||||
def load_bookings():
|
def load_bookings():
|
||||||
return _load_json(BOOKINGS_FILE, [])
|
return _load_json(BOOKINGS_FILE, [])
|
||||||
|
|
||||||
@@ -58,13 +53,13 @@ def save_bookings(bookings):
|
|||||||
def create_booking(user_id, service, master, date, time):
|
def create_booking(user_id, service, master, date, time):
|
||||||
bookings = load_bookings()
|
bookings = load_bookings()
|
||||||
booking = {
|
booking = {
|
||||||
id: len(bookings) + 1,
|
"id": len(bookings) + 1,
|
||||||
user_id: user_id,
|
"user_id": user_id,
|
||||||
service: service,
|
"service": service,
|
||||||
master: master,
|
"master": master,
|
||||||
date: date,
|
"date": date,
|
||||||
time: time,
|
"time": time,
|
||||||
status: active,
|
"status": "active",
|
||||||
}
|
}
|
||||||
bookings.append(booking)
|
bookings.append(booking)
|
||||||
save_bookings(bookings)
|
save_bookings(bookings)
|
||||||
@@ -74,10 +69,8 @@ def create_booking(user_id, service, master, date, time):
|
|||||||
def get_busy_times(master, date):
|
def get_busy_times(master, date):
|
||||||
bookings = load_bookings()
|
bookings = load_bookings()
|
||||||
return [
|
return [
|
||||||
b[time] for b in bookings
|
b["time"] for b in bookings
|
||||||
if b[master] == master
|
if b["master"] == master and b["date"] == date and b["status"] == "active"
|
||||||
and b[date] == date
|
|
||||||
and b[status] == active
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@@ -85,16 +78,15 @@ def get_user_bookings(user_id):
|
|||||||
bookings = load_bookings()
|
bookings = load_bookings()
|
||||||
return [
|
return [
|
||||||
b for b in bookings
|
b for b in bookings
|
||||||
if b[user_id] == user_id
|
if b["user_id"] == user_id and b["status"] == "active"
|
||||||
and b[status] == active
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def cancel_booking(booking_id):
|
def cancel_booking(booking_id):
|
||||||
bookings = load_bookings()
|
bookings = load_bookings()
|
||||||
for b in bookings:
|
for b in bookings:
|
||||||
if b[id] == booking_id:
|
if b["id"] == booking_id:
|
||||||
b[status] = cancelled
|
b["status"] = "cancelled"
|
||||||
save_bookings(bookings)
|
save_bookings(bookings)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
@@ -103,11 +95,11 @@ def cancel_booking(booking_id):
|
|||||||
def update_booking(booking_id, service, master, date, time):
|
def update_booking(booking_id, service, master, date, time):
|
||||||
bookings = load_bookings()
|
bookings = load_bookings()
|
||||||
for b in bookings:
|
for b in bookings:
|
||||||
if b[id] == booking_id:
|
if b["id"] == booking_id:
|
||||||
b[service] = service
|
b["service"] = service
|
||||||
b[master] = master
|
b["master"] = master
|
||||||
b[date] = date
|
b["date"] = date
|
||||||
b[time] = time
|
b["time"] = time
|
||||||
save_bookings(bookings)
|
save_bookings(bookings)
|
||||||
return b
|
return b
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user