model: Added before_update handlers for auto uri linking

master
Felix Stupp 3 years ago
parent 133ab9e612
commit 6f88153932
Signed by: zocker
GPG Key ID: 93E1BD26F6B02FB7

@ -133,7 +133,6 @@ class GeneralExtractor(Generic[E, T]):
def _update_object(self, object: E, data: ExtractedData[T]) -> E:
object.uri = data.object_uri
object.add_uris((data.object_uri,))
self._update_object_raw(object, data.data)
self._update_hook(object, data)
object.last_updated = datetime.now()

@ -43,7 +43,6 @@ class MediaExtractor(GeneralExtractor[MediaElement, T]):
def _create_author_collection(self, author_data: AuthorExtractedData) -> MediaCollection:
collection = author_data.create_collection()
collection.add_uris((author_data.object_uri,))
collection.keep_updated = False
collection.watch_in_order = False
return collection

@ -204,6 +204,12 @@ class MediaElement(db.Entity):
raise Exception(f"URI duplicated for two different media's: {uri}") # TODO may replace with merge call
orm.flush()
def before_insert(self):
self.before_update()
def before_update(self):
self.add_uris((self.uri,))
@property
def info_link(self):
return f"/media/{self.id}"
@ -286,6 +292,12 @@ class MediaCollection(db.Entity):
raise Exception(f"URI duplicated for two different collections's: {uri}") # TODO may replace with merge call
orm.flush()
def before_insert(self):
self.before_update()
def before_update(self):
self.add_uris((self.uri,))
@property
def info_link(self):
return f"/collection/{self.id}"

Loading…
Cancel
Save