mirror of
https://github.com/Benexl/FastAnime.git
synced 2025-12-05 20:40:09 -08:00
80 lines
2.3 KiB
Python
80 lines
2.3 KiB
Python
from .base_model import BaseScreenModel
|
|
from anixstream.libs.anilist import AniList
|
|
from anixstream.Utility.media_card_loader import MediaCardLoader
|
|
|
|
|
|
class HomeScreenModel(BaseScreenModel):
|
|
"""The home screen model"""
|
|
|
|
def get_trending_anime(self):
|
|
success, data = AniList.get_trending()
|
|
if success:
|
|
|
|
def _data_generator():
|
|
for anime_item in data["data"]["Page"]["media"]:
|
|
yield MediaCardLoader.media_card(anime_item)
|
|
|
|
return _data_generator()
|
|
else:
|
|
return data
|
|
|
|
def get_most_favourite_anime(self):
|
|
success, data = AniList.get_most_favourite()
|
|
if success:
|
|
|
|
def _data_generator():
|
|
for anime_item in data["data"]["Page"]["media"]:
|
|
yield MediaCardLoader.media_card(anime_item)
|
|
|
|
return _data_generator()
|
|
else:
|
|
return data
|
|
|
|
def get_most_recently_updated_anime(self):
|
|
success, data = AniList.get_most_recently_updated()
|
|
if success:
|
|
|
|
def _data_generator():
|
|
for anime_item in data["data"]["Page"]["media"]:
|
|
yield MediaCardLoader.media_card(anime_item)
|
|
|
|
return _data_generator()
|
|
else:
|
|
return data
|
|
|
|
def get_most_popular_anime(self):
|
|
success, data = AniList.get_most_popular()
|
|
if success:
|
|
|
|
def _data_generator():
|
|
for anime_item in data["data"]["Page"]["media"]:
|
|
yield MediaCardLoader.media_card(anime_item)
|
|
|
|
return _data_generator()
|
|
else:
|
|
return data
|
|
|
|
def get_most_scored_anime(self):
|
|
success, data = AniList.get_most_scored()
|
|
if success:
|
|
|
|
def _data_generator():
|
|
for anime_item in data["data"]["Page"]["media"]:
|
|
yield MediaCardLoader.media_card(anime_item)
|
|
|
|
return _data_generator()
|
|
else:
|
|
return data
|
|
|
|
def get_upcoming_anime(self):
|
|
success, data = AniList.get_upcoming_anime(1)
|
|
if success:
|
|
|
|
def _data_generator():
|
|
for anime_item in data["data"]["Page"]["media"]:
|
|
yield MediaCardLoader.media_card(anime_item)
|
|
|
|
return _data_generator()
|
|
else:
|
|
return data
|