Add basic Python API
This commit is contained in:
parent
b2d4a2789d
commit
da0414f9ba
2
setup.py
2
setup.py
|
@ -21,7 +21,7 @@ setup(
|
|||
homepage='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
||||
repository='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
||||
documentation='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
||||
version='0.0.1',
|
||||
version='0.1.0',
|
||||
packages=['ytrssil'],
|
||||
package_data={'': ['py.typed']},
|
||||
include_package_data=True,
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
from collections.abc import Sequence
|
||||
|
||||
from ytrssil.api import get_new_videos
|
||||
from ytrssil.datatypes import Channel, Video
|
||||
|
||||
__all__: Sequence[str] = (
|
||||
'Channel',
|
||||
'Video',
|
||||
'get_new_videos',
|
||||
)
|
|
@ -0,0 +1,21 @@
|
|||
from inject import autoparams
|
||||
|
||||
from ytrssil.bindings import setup_dependencies
|
||||
from ytrssil.datatypes import Video
|
||||
from ytrssil.fetch import Fetcher
|
||||
from ytrssil.repository import ChannelRepository
|
||||
|
||||
|
||||
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())
|
Loading…
Reference in New Issue