Files
FastAnime/app/Utility/user_data_helper.py
2024-05-25 17:37:18 +03:00

71 lines
1.9 KiB
Python

"""
Contains Helper functions to read and write the user data files
"""
from kivy.storage.jsonstore import JsonStore
from datetime import date,datetime
from kivy.logger import Logger
today = date.today()
now = datetime.now()
user_data = JsonStore("user_data.json")
yt_cache = JsonStore("yt_cache.json")
# 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}"
def get_anime_trailer_cache()->list:
try:
return yt_cache["yt_stream_links"][f"{yt_anime_trailer_cache_name}"]
except Exception as e:
Logger.warning(f"User Data:Read failure:{e}")
return []
def update_anime_trailer_cache(yt_stream_links:list):
try:
yt_cache.put("yt_stream_links",**{f"{yt_anime_trailer_cache_name}":yt_stream_links})
except Exception as e:
Logger.warning(f"User Data:Update failure:{e}")