mirror of
https://github.com/Benexl/FastAnime.git
synced 2026-01-16 23:01:45 -08:00
feat:create cli subpackage
This commit is contained in:
35
fastanime/gui/Controller/anime_screen.py
Normal file
35
fastanime/gui/Controller/anime_screen.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from kivy.cache import Cache
|
||||
|
||||
from ..Model import AnimeScreenModel
|
||||
from ..View import AnimeScreenView
|
||||
|
||||
Cache.register("data.anime", limit=20, timeout=600)
|
||||
|
||||
|
||||
class AnimeScreenController:
|
||||
"""The controller for the anime screen"""
|
||||
|
||||
def __init__(self, model: AnimeScreenModel):
|
||||
self.model = model
|
||||
self.view = AnimeScreenView(controller=self, model=self.model)
|
||||
|
||||
def get_view(self) -> AnimeScreenView:
|
||||
return self.view
|
||||
|
||||
def fetch_streams(self, anime_title, is_dub=False, episode="1"):
|
||||
if self.view.is_dub:
|
||||
is_dub = self.view.is_dub.active
|
||||
if anime_data := self.model.get_anime_data_from_provider(
|
||||
anime_title, is_dub
|
||||
):
|
||||
self.view.current_anime_data = anime_data
|
||||
if current_links := self.model.get_episode_streams(episode, is_dub):
|
||||
self.view.current_links = current_links
|
||||
# TODO: add auto start
|
||||
#
|
||||
# self.view.current_link = self.view.current_links[0]["gogoanime"][0]
|
||||
|
||||
def update_anime_view(self, id, title, caller_screen_name):
|
||||
self.fetch_streams(title)
|
||||
self.view.current_title = title
|
||||
self.view.caller_screen_name = caller_screen_name
|
||||
Reference in New Issue
Block a user