cli/ytrssil/api.py

25 lines
617 B
Python

from inject import autoparams
from ytrssil.bindings import setup_dependencies
from ytrssil.datatypes import Video
from ytrssil.protocols import ChannelRepository, Fetcher
def get_new_videos() -> list[Video]:
setup_dependencies()
@autoparams()
def _get_new_videos(
repository_manager: ChannelRepository,
fetcher: Fetcher,
) -> dict[str, Video]:
with repository_manager as _:
_, new_videos = fetcher.fetch_new_videos()
return new_videos
return list(_get_new_videos().values())
def get_new_video_count() -> int:
return len(get_new_videos())