Use ExtractedDataLight where data cannot be supplied

master
Felix Stupp 2 years ago
parent d6768135f3
commit 9ffb34b972
Signed by: zocker
GPG Key ID: 93E1BD26F6B02FB7

@ -8,7 +8,7 @@ from pony import orm # TODO remove
from ...models import MediaCollection
from ..all.tt_rss import HeadlineList, TtRssConnectionParameter, TtRssUri
from ..generic import ExtractedData, SuitableLevel
from ..generic import ExtractedData, ExtractedDataLight, SuitableLevel
from .base import CollectionExtractor
@ -41,8 +41,8 @@ class TtRssCollectionExtractor(CollectionExtractor[HeadlineList]):
def _cache_expired(self, object: MediaCollection) -> bool:
return (datetime.now() - object.last_updated) > timedelta(minutes=15)
def _extract_offline(self, uri: str) -> ExtractedData[HeadlineList]:
return ExtractedData(
def _extract_offline(self, uri: str) -> ExtractedDataLight:
return ExtractedDataLight(
extractor_name=self.name,
object_key=uri,
object_uri=uri,

@ -9,7 +9,7 @@ from pony import orm # TODO remove
import youtubesearchpython
from ...models import MediaCollection
from ..generic import ExtractedData, SuitableLevel
from ..generic import ExtractedData, ExtractedDataLight, SuitableLevel
from .base import CollectionExtractor
@ -59,9 +59,9 @@ class YouTubeCollectionExtractor(CollectionExtractor[Dict]):
last_release_date
)
def _extract_offline(self, uri: str) -> ExtractedData[Dict]:
def _extract_offline(self, uri: str) -> ExtractedDataLight:
playlist_id = self.__convert_if_required(self.__get_id(uri))
return ExtractedData(
return ExtractedDataLight(
extractor_name=self.name,
object_key=playlist_id,
object_uri=uri,

@ -67,7 +67,7 @@ class ExtractedDataLight:
@dataclass
class ExtractedData(ExtractedDataLight, Generic[T]):
data: T = dataclasses.field(default=None, repr=False, compare=False)
data: T = dataclasses.field(repr=False, compare=False)
@property
def has_data(self) -> bool:
@ -128,7 +128,7 @@ class GeneralExtractor(Generic[E, T]):
def _cache_expired(self, object: E) -> bool:
return False
def _extract_offline_only(self, uri: str) -> ExtractedData[T]:
def _extract_offline_only(self, uri: str) -> ExtractedDataLight:
raise NotImplementedError()
def _extract_online(self, uri: str) -> ExtractedData[T]:
@ -142,7 +142,7 @@ class GeneralExtractor(Generic[E, T]):
# defined
def _extract_offline(self, uri: str) -> ExtractedData[T]:
def _extract_offline(self, uri: str) -> ExtractedDataLight:
return (
self._extract_offline_only(uri)
if self.can_extract_offline(uri)

Loading…
Cancel
Save