2022-10-29 23:55:22 +02:00
|
|
|
from typing import Protocol
|
2021-11-19 19:44:46 +01:00
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
from ytrssil.datatypes import Video
|
2021-11-19 19:44:46 +01:00
|
|
|
|
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
class Client(Protocol):
|
|
|
|
def fetch(self) -> None: # pragma: no cover
|
|
|
|
...
|
2021-11-19 19:44:46 +01:00
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
def register(self) -> None: # pragma: no cover
|
2021-11-19 19:44:46 +01:00
|
|
|
...
|
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
def subscribe_to_channel(
|
2021-11-19 19:44:46 +01:00
|
|
|
self,
|
2022-10-29 23:55:22 +02:00
|
|
|
channel_id: str,
|
2021-11-19 19:44:46 +01:00
|
|
|
) -> None: # pragma: no cover
|
|
|
|
...
|
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
def get_new_videos(self) -> list[Video]: # pragma: no cover
|
2021-11-19 19:44:46 +01:00
|
|
|
...
|
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
def get_watched_videos(self) -> list[Video]: # pragma: no cover
|
2021-11-19 19:44:46 +01:00
|
|
|
...
|
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
def mark_video_as_watched(self, video_id: str) -> None: # pragma: no cover
|
2021-11-19 19:44:46 +01:00
|
|
|
...
|
|
|
|
|
2022-10-29 23:55:22 +02:00
|
|
|
def mark_video_as_unwatched(
|
2021-11-19 19:44:46 +01:00
|
|
|
self,
|
2022-10-29 23:55:22 +02:00
|
|
|
video_id: str,
|
2021-11-19 19:44:46 +01:00
|
|
|
) -> None: # pragma: no cover
|
|
|
|
...
|