Files
FastAnime/fastanime/Utility/user_data_helper.py
2024-08-05 09:46:56 +03:00

77 lines
1.8 KiB
Python

"""
Contains Helper functions to read and write the user data files
"""
import os
from datetime import date, datetime
from kivy.logger import Logger
from kivy.storage.jsonstore import JsonStore
app_dir = os.path.dirname(__file__)
data_folder = os.path.join(app_dir, "data")
today = date.today()
now = datetime.now()
if os.path.exists(os.path.join(data_folder, "user_data.json")):
user_data = JsonStore(os.path.join(data_folder, "user_data.json"))
else:
# os.makedir(data_folder, exist_ok=True)
print("op2")
user_data_path = os.path.join(data_folder, "user_data.json")
user_data = JsonStore(user_data_path)
print("op2")
# Get the user data
def get_user_anime_list() -> list:
try:
return user_data.get("user_anime_list")[
"user_anime_list"
] # returns a list of anime ids
except Exception as e:
Logger.warning(f"User Data:Read failure:{e}")
return []
def update_user_anime_list(updated_list: list):
try:
updated_list_ = list(set(updated_list))
user_data.put("user_anime_list", user_anime_list=updated_list_)
except Exception as e:
Logger.warning(f"User Data:Update failure:{e}")
# Get the user data
def get_user_downloads() -> list:
try:
return user_data.get("user_downloads")[
"user_downloads"
] # returns a list of anime ids
except Exception as e:
Logger.warning(f"User Data:Read failure:{e}")
return []
def update_user_downloads(updated_list: list):
try:
user_data.put("user_downloads", user_downloads=list(set(updated_list)))
except Exception as e:
Logger.warning(f"User Data:Update failure:{e}")
# Yt persistent anime trailer cache
t = 1
if now.hour <= 6:
t = 1
elif now.hour <= 12:
t = 2
elif now.hour <= 18:
t = 3
else:
t = 4
yt_anime_trailer_cache_name = f"{today}{t}"