diff --git a/ytrssil/__init__.py b/ytrssil/__init__.py index e69de29..c9984c4 100644 --- a/ytrssil/__init__.py +++ b/ytrssil/__init__.py @@ -0,0 +1,10 @@ +from collections.abc import Sequence + +from ytrssil.api import get_new_video_count, get_new_videos +from ytrssil.datatypes import Video + +__all__: Sequence[str] = ( + 'Video', + 'get_new_video_count', + 'get_new_videos', +) diff --git a/ytrssil/api.py b/ytrssil/api.py new file mode 100644 index 0000000..65fd778 --- /dev/null +++ b/ytrssil/api.py @@ -0,0 +1,21 @@ +from typing import cast + +from inject import autoparams + +from ytrssil.bindings import setup_dependencies +from ytrssil.datatypes import Video +from ytrssil.protocols import Client + + +def get_new_videos() -> list[Video]: + setup_dependencies() + + @autoparams() + def _get_new_videos(client: Client) -> list[Video]: + return client.get_new_videos() + + return cast(list[Video], _get_new_videos()) + + +def get_new_video_count() -> int: + return len(get_new_videos())