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',
|
homepage='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
||||||
repository='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
repository='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
||||||
documentation='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
documentation='https://gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil',
|
||||||
version='0.0.1',
|
version='0.1.0',
|
||||||
packages=['ytrssil'],
|
packages=['ytrssil'],
|
||||||
package_data={'': ['py.typed']},
|
package_data={'': ['py.typed']},
|
||||||
include_package_data=True,
|
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