Allow unextracted elements and collections to exists, add/use reflecting property

master
Felix Stupp 3 years ago
parent ad5a504263
commit 6330443876
Signed by: zocker
GPG Key ID: 93E1BD26F6B02FB7

@ -139,7 +139,7 @@ class GeneralExtractor(Generic[E, T]):
return object
def update_object(self, object: E, check_cache_expired: bool = True) -> E:
if object.last_updated and check_cache_expired and not self._cache_expired(object.last_updated):
if object.was_extracted and check_cache_expired and not self._cache_expired(object.last_updated):
return object
data = self._extract_online(object.uri)
logging.debug(f"Updating info for media: {data!r}")

@ -124,9 +124,9 @@ class MediaElement(db.Entity):
notes: str = orm.Optional(str)
release_date: datetime = orm.Optional(datetime)
extractor_name: str = orm.Required(str)
extractor_key: str = orm.Required(str)
orm.composite_key(extractor_name, extractor_key)
extractor_name: str = orm.Optional(str)
extractor_key: str = orm.Optional(str)
orm.composite_index(extractor_name, extractor_key)
last_updated: datetime = orm.Optional(datetime)
watched: bool = orm.Required(bool, default=False)
@ -138,6 +138,10 @@ class MediaElement(db.Entity):
uris: Iterable[MediaUriMapping] = orm.Set(lambda: MediaUriMapping)
collection_links: Iterable[MediaCollectionLink] = orm.Set(lambda: MediaCollectionLink)
@property
def was_extracted(self) -> bool:
return self.last_updated is not None
@property
def left_length(self) -> int:
return self.length - self.progress
@ -234,9 +238,9 @@ class MediaCollection(db.Entity):
notes: str = orm.Optional(str)
release_date: datetime = orm.Optional(datetime)
extractor_name: str = orm.Required(str)
extractor_key: str = orm.Required(str)
orm.composite_key(extractor_name, extractor_key)
extractor_name: str = orm.Optional(str)
extractor_key: str = orm.Optional(str)
orm.composite_index(extractor_name, extractor_key)
last_updated: datetime = orm.Optional(datetime)
keep_updated: bool = orm.Required(bool, default=False)
@ -249,6 +253,10 @@ class MediaCollection(db.Entity):
uris: Iterable[CollectionUriMapping] = orm.Set(lambda: CollectionUriMapping)
media_links: Iterable[MediaCollectionLink] = orm.Set(MediaCollectionLink)
@property
def was_extracted(self) -> bool:
return self.last_updated is not None
@property
def next_episode(self) -> Optional[MediaCollectionLink]:
#return orm \

Loading…
Cancel
Save