feature/artwork_gallery #41

Merged
Hazel merged 25 commits from feature/artwork_gallery into experimental 2024-07-15 09:36:22 +00:00
Showing only changes of commit eef3ea7f07 - Show all commits

View File

@ -61,6 +61,12 @@ class Artwork:
variant.url = url
variant.__dict__.update(kwargs)
@property
def url(self) -> Optional[str]:
if len(self.variants) <= 0:
return None
return self.variants[0].url
class ArtworkCollection:
"""
@ -123,6 +129,23 @@ class ArtworkCollection:
self._data.append(value)
return
def __merge__(self, other: ArtworkCollection, **kwargs) -> None:
self.parent_artworks.update(other.parent_artworks)
for key, value in other._variant_mapping.items():
if key not in self._variant_mapping:
self._variant_mapping[key] = value
def __hash__(self) -> int:
return id(self)
def __iter__(self) -> Generator[Artwork, None, None]:
yield from self._data
def get_urls(self) -> Generator[str, None, None]:
yield from (artwork.url for artwork in self._data if artwork.url is not None)
"""
@property
def flat_empty(self) -> bool:
return len(self._variant_mapping.keys()) <= 0
@ -138,18 +161,5 @@ class ArtworkCollection:
def get_variant_name(self, variant: ArtworkVariant) -> str:
return f"artwork_{variant['width']}x{variant['height']}_{hash_url(variant['url']).replace('/', '_')}"
def __merge__(self, other: ArtworkCollection, **kwargs) -> None:
self.parent_artworks.update(other.parent_artworks)
for key, value in other._variant_mapping.items():
if key not in self._variant_mapping:
self._variant_mapping[key] = value
def __hash__(self) -> int:
return id(self)
def __iter__(self) -> Generator[ArtworkVariant, None, None]:
yield from self._variant_mapping.values()
"""