mirror of
https://github.com/Benexl/FastAnime.git
synced 2025-12-27 13:13:25 -08:00
71 lines
1.9 KiB
Python
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}")
|