update store

This commit is contained in:
shooter-dev committed 2026-10-08 05:45:14 +02:00
1 parent e73c849a7e
commit 551e283f54
43 files changed
+271 -250

No files matched your search

@@ -1 +1,3 @@
"""Persistence library for MangaCollec data."""
from .store import Store
__all__ = ["Store"]
@@ -5,7 +5,10 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Chargement des auteurs dans le store local."""
from libs.store.authors.load_author import LoadAuthor
from libs.store.authors.load_authors import LoadAuthors
from .add_authors import add_authors
from .add_jobs import add_jobs
from .add_tasks import add_tasks
from .load_author import LoadAuthor
from .load_authors import LoadAuthors
__all__ = ["LoadAuthor", "LoadAuthors"]
__all__ = ["LoadAuthor", "LoadAuthors", "add_authors", "add_jobs", "add_tasks"]
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.author import Author
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Author
from mangacollec_store import Store
def add_authors(store: Store, authors: list[Author]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.job import Job
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Job
from mangacollec_store import Store
def add_jobs(store: Store, jobs: list[Job]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.task import Task
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Task
from mangacollec_store import Store
def add_tasks(store: Store, tasks: list[Task]) -> None:
@@ -3,14 +3,13 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto import AuthorResponse
from libs.store.authors.add_authors import add_authors
from libs.store.authors.add_jobs import add_jobs
from libs.store.authors.add_tasks import add_tasks
from libs.store.core.store_core import Store
from libs.store.editions.add_editions import add_editions
from libs.store.series.add_serie import add_serie
from libs.store.volumes.add_volumes import add_volumes
from mangacollec.dto.catalogue import AuthorResponse
from mangacollec_store.authors import add_authors, add_jobs, add_tasks
from mangacollec_store.editions import add_editions
from mangacollec_store.series import add_serie
from mangacollec_store import Store
from mangacollec_store.volumes import add_volumes
class LoadAuthor:
@@ -5,9 +5,10 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Chargement de la liste des auteurs dans le store local."""
from libs.mangacollec.dto import AuthorsResponse
from libs.store.authors.add_authors import add_authors
from libs.store.core.store_core import Store
from mangacollec.dto.catalogue import AuthorsResponse
from mangacollec_store.authors import add_authors
from mangacollec_store import Store
class LoadAuthors:
@@ -1,9 +0,0 @@
# __ _____ _ __ ____________________ __ _____________________ _____ _______________
# / ___/ / /_ ____ ____ / /_ ___ ____ / __ \ ___ _ __/
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.store.core.store_core import Store
__all__ = ["Store"]
@@ -5,6 +5,8 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Chargement des réponses d'édition dans le store."""
from libs.store.editions.load_edition import LoadEdition
from .add_box_editions import add_box_editions
from .add_editions import add_editions
from .load_edition import LoadEdition
__all__ = ["LoadEdition"]
__all__ = ["add_box_editions", "add_editions", "LoadEdition"]
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue import BoxEdition
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import BoxEdition
from mangacollec_store import Store
def add_box_editions(store: Store, box_editions: list[BoxEdition]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue import Edition
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Edition
from mangacollec_store import Store
def add_editions(store: Store, editions: list[Edition]) -> None:
@@ -3,13 +3,13 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto.edition_response import EditionResponse
from libs.store.core.store_core import Store
from libs.store.editions.add_editions import add_editions
from libs.store.publishers.add_publishers import add_publishers
from libs.store.series.add_serie import add_serie
from libs.store.series.add_types import add_types
from libs.store.volumes.add_volumes import add_volumes
from mangacollec.dto.catalogue import EditionResponse
from mangacollec_store.editions import add_editions
from mangacollec_store.publishers import add_publishers
from mangacollec_store.series import add_serie, add_types
from mangacollec_store import Store
from mangacollec_store.volumes import add_volumes
class LoadEdition:
@@ -4,6 +4,7 @@
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.store.kinds.load_kinds import LoadKinds
from .add_kinds import add_kinds
from .load_kinds import LoadKinds
__all__ = ["LoadKinds"]
__all__ = ["add_kinds", "LoadKinds"]
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.kind import Kind
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Kind
from mangacollec_store import Store
def add_kinds(store: Store, kinds: list[Kind]) -> None:
@@ -3,9 +3,10 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto.kinds_response import KindsResponse
from libs.store.core.store_core import Store
from libs.store.kinds.add_kinds import add_kinds
from mangacollec.dto.catalogue import KindsResponse
from mangacollec_store import Store
from mangacollec_store.kinds import add_kinds
class LoadKinds:
@@ -5,6 +5,6 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from .database import Database
from .news import NewsIndex
from .news import NewsStore
__all__ = ["Database", "NewsIndex"]
__all__ = ["Database", "NewsStore"]
@@ -3,46 +3,51 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from mangacollec.model.catalogue import (
Author,
BoxEdition,
BoxVolume,
Boxe,
Edition,
Job,
Kind,
Publisher,
Serie,
SerieType,
Task,
Volume,
)
from mangacollec.model.possessions import (
BoxFollowEdition,
BoxPossession,
VolumeFollowEdition,
VolumePossession,
)
from mangacollec.model.reads import Read
from pydantic import BaseModel, Field
from libs.mangacollec.model.catalogue.author import Author
from libs.mangacollec.model.catalogue.box_edition import BoxEdition
from libs.mangacollec.model.catalogue.box_volume import BoxVolume
from libs.mangacollec.model.catalogue.boxe import Boxe
from libs.mangacollec.model.catalogue.edition import Edition
from libs.mangacollec.model.catalogue.job import Job
from libs.mangacollec.model.catalogue.kind import Kind
from libs.mangacollec.model.catalogue.publisher import Publisher
from libs.mangacollec.model.catalogue.serie import Serie
from libs.mangacollec.model.catalogue.serie_type import SerieType
from libs.mangacollec.model.catalogue.task import Task
from libs.mangacollec.model.catalogue.volume import Volume
from libs.mangacollec.model.possessions.box_follow_edition import BoxFollowEdition
from libs.mangacollec.model.possessions.box_possession import BoxPossession
from libs.mangacollec.model.possessions.volume_follow_edition import VolumeFollowEdition
from libs.mangacollec.model.possessions.volume_possession import VolumePossession
from libs.mangacollec.model.reads.read import Read
from libs.store.model.news import NewsIndex
from mangacollec.value_object import ID
from .news import NewsStore
class Database(BaseModel):
"""État complet du store local."""
series: dict[str, Serie] = {}
kinds: dict[str, Kind] = {}
types: dict[str, SerieType] = {}
tasks: dict[str, Task] = {}
jobs: dict[str, Job] = {}
authors: dict[str, Author] = {}
editions: dict[str, Edition] = {}
publishers: dict[str, Publisher] = {}
volumes: dict[str, Volume] = {}
news: NewsIndex = Field(default_factory=NewsIndex)
box_editions: dict[str, BoxEdition] = {}
boxes: dict[str, Boxe] = {}
box_volumes: dict[str, BoxVolume] = {}
follow_editions: dict[str, VolumeFollowEdition] = {}
box_follow_editions: dict[str, BoxFollowEdition] = {}
possessions: dict[str, VolumePossession] = {}
box_possessions: dict[str, BoxPossession] = {}
reads: dict[str, Read] = {}
series: dict[ID, Serie] = Field(default_factory=dict)
kinds: dict[ID, Kind] = Field(default_factory=dict)
types: dict[ID, SerieType] = Field(default_factory=dict)
tasks: dict[ID, Task] = Field(default_factory=dict)
jobs: dict[ID, Job] = Field(default_factory=dict)
authors: dict[ID, Author] = Field(default_factory=dict)
editions: dict[ID, Edition] = Field(default_factory=dict)
publishers: dict[ID, Publisher] = Field(default_factory=dict)
volumes: dict[ID, Volume] = Field(default_factory=dict)
news: NewsStore = Field(default_factory=NewsStore)
box_editions: dict[ID, BoxEdition] = Field(default_factory=dict)
boxes: dict[ID, Boxe] = Field(default_factory=dict)
box_volumes: dict[ID, BoxVolume] = Field(default_factory=dict)
follow_editions: dict[ID, VolumeFollowEdition] = Field(default_factory=dict)
box_follow_editions: dict[ID, BoxFollowEdition] = Field(default_factory=dict)
possessions: dict[ID, VolumePossession] = Field(default_factory=dict)
box_possessions: dict[ID, BoxPossession] = Field(default_factory=dict)
reads: dict[ID, Read] = Field(default_factory=dict)
@@ -3,12 +3,11 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from mangacollec.value_object import ID
from pydantic import BaseModel, Field
from libs.mangacollec.value_object.id import ID
class NewsIndex(BaseModel):
class NewsStore(BaseModel):
"""Index persistant des nouveautés affichées par le store local."""
volumes: list[ID] = Field(default_factory=list)
@@ -3,16 +3,13 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto.news_response import NewsResponse
from libs.store.core.store_core import Store
from libs.store.editions.add_box_editions import add_box_editions
from libs.store.editions.add_editions import add_editions
from libs.store.model.news import NewsIndex
from libs.store.series.add_serie import add_serie
from libs.store.series.add_types import add_types
from libs.store.volumes.add_box_volumes import add_box_volumes
from libs.store.volumes.add_boxes import add_boxes
from libs.store.volumes.add_volumes import add_volumes
from mangacollec.dto import NewsResponse
from mangacollec_store import Store
from mangacollec_store.editions import add_box_editions, add_editions
from mangacollec_store.model import NewsStore
from mangacollec_store.series import add_serie, add_types
from mangacollec_store.volumes import add_box_volumes, add_boxes, add_volumes
class LoadNews:
@@ -33,7 +30,7 @@ class LoadNews:
add_boxes(self._store, response.boxes)
add_box_editions(self._store, response.box_editions)
add_box_volumes(self._store, response.box_volumes)
self._store.news = NewsIndex(
self._store.news = NewsStore(
volumes=[volume.id for volume in response.volumes],
boxes=[box.id for box in response.boxes],
)
@@ -4,12 +4,20 @@
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.store.possessions.delete_box_possessions import DeleteBoxPossessions
from libs.store.possessions.delete_possessions import DeletePossessions
from libs.store.possessions.load_box_possessions import LoadBoxPossessions
from libs.store.possessions.load_volume_possessions import LoadVolumePossessions
from .add_box_follow_editions import add_box_follow_editions
from .add_box_possessions import add_box_possessions
from .add_follow_editions import add_follow_editions
from .add_possessions import add_possessions
from .delete_box_possessions import DeleteBoxPossessions
from .delete_possessions import DeletePossessions
from .load_box_possessions import LoadBoxPossessions
from .load_volume_possessions import LoadVolumePossessions
__all__ = [
"add_box_follow_editions",
"add_box_possessions",
"add_follow_editions",
"add_possessions",
"DeleteBoxPossessions",
"DeletePossessions",
"LoadBoxPossessions",
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.possessions.box_follow_edition import BoxFollowEdition
from libs.store.core.store_core import Store
from mangacollec.model.possessions import BoxFollowEdition
from mangacollec_store import Store
def add_box_follow_editions(store: Store, box_follow_editions: list[BoxFollowEdition]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.possessions.box_possession import BoxPossession
from libs.store.core.store_core import Store
from mangacollec.model.possessions import BoxPossession
from mangacollec_store import Store
def add_box_possessions(store: Store, box_possessions: list[BoxPossession]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.possessions.volume_follow_edition import VolumeFollowEdition
from libs.store.core.store_core import Store
from mangacollec.model.possessions import VolumeFollowEdition
from mangacollec_store import Store
def add_follow_editions(store: Store, follow_editions: list[VolumeFollowEdition]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.possessions.volume_possession import VolumePossession
from libs.store.core.store_core import Store
from mangacollec.model.possessions import VolumePossession
from mangacollec_store import Store
def add_possessions(store: Store, possessions: list[VolumePossession]) -> None:
@@ -5,10 +5,9 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Suppression des possessions de boxes dans le store."""
from libs.mangacollec.dto import (
DeleteBoxPossessionsMultipleResponse,
)
from libs.store.core.store_core import Store
from mangacollec.dto.possessions import DeleteBoxPossessionsMultipleResponse
from mangacollec_store import Store
class DeleteBoxPossessions:
@@ -5,10 +5,8 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Suppression des possessions dans le store."""
from libs.mangacollec.dto import (
DeleteVolumePossessionsMultipleResponse,
)
from libs.store.core.store_core import Store
from mangacollec.dto.possessions import DeleteVolumePossessionsMultipleResponse
from mangacollec_store import Store
class DeletePossessions:
@@ -5,14 +5,14 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Chargement des possessions dans le store."""
from libs.mangacollec.dto import (
CreateBoxPossessionsMultipleResponse,
from mangacollec.dto.possessions import CreateBoxPossessionsMultipleResponse
from mangacollec_store.possessions import (
add_box_follow_editions,
add_box_possessions,
add_follow_editions,
add_possessions,
)
from libs.store.core.store_core import Store
from libs.store.possessions.add_box_follow_editions import add_box_follow_editions
from libs.store.possessions.add_box_possessions import add_box_possessions
from libs.store.possessions.add_follow_editions import add_follow_editions
from libs.store.possessions.add_possessions import add_possessions
from mangacollec_store import Store
class LoadBoxPossessions:
@@ -5,12 +5,9 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Chargement des possessions dans le store."""
from libs.mangacollec.dto import (
CreateVolumePossessionsMultipleResponse,
)
from libs.store.core.store_core import Store
from libs.store.possessions.add_follow_editions import add_follow_editions
from libs.store.possessions.add_possessions import add_possessions
from mangacollec.dto.possessions import CreateVolumePossessionsMultipleResponse
from mangacollec_store.possessions import add_follow_editions, add_possessions
from mangacollec_store import Store
class LoadVolumePossessions:
@@ -3,7 +3,8 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.store.publishers.load_publisher import LoadPublisher
from libs.store.publishers.load_publishers import LoadPublishers
from .add_publishers import add_publishers
from .load_publisher import LoadPublisher
from .load_publishers import LoadPublishers
__all__ = ["LoadPublisher", "LoadPublishers"]
__all__ = ["add_publishers", "LoadPublisher", "LoadPublishers"]
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue import Publisher
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Publisher
from mangacollec_store import Store
def add_publishers(store: Store, publishers: list[Publisher]) -> None:
@@ -3,15 +3,13 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto import PublisherResponse
from libs.store.core.store_core import Store
from libs.store.editions.add_box_editions import add_box_editions
from libs.store.editions.add_editions import add_editions
from libs.store.publishers.add_publishers import add_publishers
from libs.store.series.add_serie import add_serie
from libs.store.series.add_types import add_types
from libs.store.volumes.add_boxes import add_boxes
from libs.store.volumes.add_volumes import add_volumes
from mangacollec.dto.catalogue import PublisherResponse
from mangacollec_store import Store
from mangacollec_store.editions import add_box_editions, add_editions
from mangacollec_store.publishers import add_publishers
from mangacollec_store.series import add_serie, add_types
from mangacollec_store.volumes import add_boxes, add_volumes
class LoadPublisher:
@@ -3,9 +3,10 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto.publishers_response import PublishersResponse
from libs.store.core.store_core import Store
from libs.store.publishers.add_publishers import add_publishers
from mangacollec.dto.catalogue import PublishersResponse
from mangacollec_store import Store
from mangacollec_store.publishers import add_publishers
class LoadPublishers:
@@ -4,7 +4,9 @@
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.store.series.load_serie import LoadSerie
from libs.store.series.load_series import LoadSeries
from .add_serie import add_serie
from .add_types import add_types
from .load_serie import LoadSerie
from .load_series import LoadSeries
__all__ = ["LoadSerie", "LoadSeries"]
__all__ = ["add_serie", "add_types", "LoadSerie", "LoadSeries"]
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.serie import Serie
from libs.store import Store
from mangacollec.model.catalogue import Serie
from mangacollec_store import Store
def add_serie(store: Store, series: list[Serie]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.serie_type import SerieType
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import SerieType
from mangacollec_store import Store
def add_types(store: Store, serie_types: list[SerieType]) -> None:
@@ -3,20 +3,15 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto import SerieResponse
from libs.store.authors.add_authors import add_authors
from libs.store.authors.add_jobs import add_jobs
from libs.store.authors.add_tasks import add_tasks
from libs.store.core.store_core import Store
from libs.store.editions.add_box_editions import add_box_editions
from libs.store.editions.add_editions import add_editions
from libs.store.kinds.add_kinds import add_kinds
from libs.store.publishers.add_publishers import add_publishers
from libs.store.series.add_serie import add_serie
from libs.store.series.add_types import add_types
from libs.store.volumes.add_box_volumes import add_box_volumes
from libs.store.volumes.add_boxes import add_boxes
from libs.store.volumes.add_volumes import add_volumes
from mangacollec.dto.catalogue import SerieResponse
from mangacollec_store.authors import add_authors, add_jobs, add_tasks
from mangacollec_store.editions import add_box_editions, add_editions
from mangacollec_store.kinds import add_kinds
from mangacollec_store.publishers import add_publishers
from mangacollec_store.series import add_serie, add_types
from mangacollec_store import Store
from mangacollec_store.volumes import add_box_volumes, add_boxes, add_volumes
class LoadSerie:
@@ -3,10 +3,10 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto.series_response import SeriesResponse
from libs.store.core.store_core import Store
from libs.store.series.add_serie import add_serie
from libs.store.series.add_types import add_types
from mangacollec.dto.catalogue import SeriesResponse
from mangacollec_store import Store
from mangacollec_store.series import add_serie, add_types
class LoadSeries:
@@ -7,25 +7,30 @@ import json
import logging
from pathlib import Path
from libs.mangacollec.model.catalogue.author import Author
from libs.mangacollec.model.catalogue.box_edition import BoxEdition
from libs.mangacollec.model.catalogue.box_volume import BoxVolume
from libs.mangacollec.model.catalogue.boxe import Boxe
from libs.mangacollec.model.catalogue.edition import Edition
from libs.mangacollec.model.catalogue.job import Job
from libs.mangacollec.model.catalogue.kind import Kind
from libs.mangacollec.model.catalogue.publisher import Publisher
from libs.mangacollec.model.catalogue.serie import Serie
from libs.mangacollec.model.catalogue.serie_type import SerieType
from libs.mangacollec.model.catalogue.task import Task
from libs.mangacollec.model.catalogue.volume import Volume
from libs.mangacollec.model.possessions.box_follow_edition import BoxFollowEdition
from libs.mangacollec.model.possessions.box_possession import BoxPossession
from libs.mangacollec.model.possessions.volume_follow_edition import VolumeFollowEdition
from libs.mangacollec.model.possessions.volume_possession import VolumePossession
from libs.mangacollec.model.reads.read import Read
from libs.store.model.database import Database
from libs.store.model.news import NewsIndex
from mangacollec.model.catalogue import (
Author,
BoxEdition,
BoxVolume,
Boxe,
Edition,
Job,
Kind,
Publisher,
Serie,
SerieType,
Task,
Volume,
)
from mangacollec.model.possessions import (
BoxFollowEdition,
BoxPossession,
VolumeFollowEdition,
VolumePossession,
)
from mangacollec.model.reads import Read
from mangacollec.value_object import ID
from mangacollec_store.model import Database, NewsStore
logger = logging.getLogger(__name__)
@@ -43,182 +48,182 @@ class Store:
self._read()
@property
def series(self) -> dict[str, Serie]:
def series(self) -> dict[ID, Serie]:
"""Retourner les séries."""
return self._database.series
@series.setter
def series(self, value: dict[str, Serie]) -> None:
def series(self, value: dict[ID, Serie]) -> None:
"""Définir les séries."""
self._database.series = value
@property
def kinds(self) -> dict[str, Kind]:
def kinds(self) -> dict[ID, Kind]:
"""Retourner les types de série."""
return self._database.kinds
@kinds.setter
def kinds(self, value: dict[str, Kind]) -> None:
def kinds(self, value: dict[ID, Kind]) -> None:
"""Définir les types de série."""
self._database.kinds = value
@property
def types(self) -> dict[str, SerieType]:
def types(self) -> dict[ID, SerieType]:
"""Retourner les types."""
return self._database.types
@types.setter
def types(self, value: dict[str, SerieType]) -> None:
def types(self, value: dict[ID, SerieType]) -> None:
"""Définir les types."""
self._database.types = value
@property
def tasks(self) -> dict[str, Task]:
def tasks(self) -> dict[ID, Task]:
"""Retourner les tâches."""
return self._database.tasks
@tasks.setter
def tasks(self, value: dict[str, Task]) -> None:
def tasks(self, value: dict[ID, Task]) -> None:
"""Définir les tâches."""
self._database.tasks = value
@property
def jobs(self) -> dict[str, Job]:
def jobs(self) -> dict[ID, Job]:
"""Retourner les métiers."""
return self._database.jobs
@jobs.setter
def jobs(self, value: dict[str, Job]) -> None:
def jobs(self, value: dict[ID, Job]) -> None:
"""Définir les métiers."""
self._database.jobs = value
@property
def authors(self) -> dict[str, Author]:
def authors(self) -> dict[ID, Author]:
"""Retourner les auteurs."""
return self._database.authors
@authors.setter
def authors(self, value: dict[str, Author]) -> None:
def authors(self, value: dict[ID, Author]) -> None:
"""Définir les auteurs."""
self._database.authors = value
@property
def editions(self) -> dict[str, Edition]:
def editions(self) -> dict[ID, Edition]:
"""Retourner les éditions."""
return self._database.editions
@editions.setter
def editions(self, value: dict[str, Edition]) -> None:
def editions(self, value: dict[ID, Edition]) -> None:
"""Définir les éditions."""
self._database.editions = value
@property
def publishers(self) -> dict[str, Publisher]:
def publishers(self) -> dict[ID, Publisher]:
"""Retourner les éditeurs."""
return self._database.publishers
@publishers.setter
def publishers(self, value: dict[str, Publisher]) -> None:
def publishers(self, value: dict[ID, Publisher]) -> None:
"""Définir les éditeurs."""
self._database.publishers = value
@property
def volumes(self) -> dict[str, Volume]:
def volumes(self) -> dict[ID, Volume]:
"""Retourner les volumes."""
return self._database.volumes
@volumes.setter
def volumes(self, value: dict[str, Volume]) -> None:
def volumes(self, value: dict[ID, Volume]) -> None:
"""Définir les volumes."""
self._database.volumes = value
@property
def news(self) -> NewsIndex:
def news(self) -> NewsStore:
"""Retourner l'index des nouveautés."""
return self._database.news
@news.setter
def news(self, value: NewsIndex) -> None:
def news(self, value: NewsStore) -> None:
"""Définir l'index des nouveautés."""
self._database.news = value
@property
def box_editions(self) -> dict[str, BoxEdition]:
def box_editions(self) -> dict[ID, BoxEdition]:
"""Retourner les éditions de boxes."""
return self._database.box_editions
@box_editions.setter
def box_editions(self, value: dict[str, BoxEdition]) -> None:
def box_editions(self, value: dict[ID, BoxEdition]) -> None:
"""Définir les éditions de boxes."""
self._database.box_editions = value
@property
def boxes(self) -> dict[str, Boxe]:
def boxes(self) -> dict[ID, Boxe]:
"""Retourner les boxes."""
return self._database.boxes
@boxes.setter
def boxes(self, value: dict[str, Boxe]) -> None:
def boxes(self, value: dict[ID, Boxe]) -> None:
"""Définir les boxes."""
self._database.boxes = value
@property
def box_volumes(self) -> dict[str, BoxVolume]:
def box_volumes(self) -> dict[ID, BoxVolume]:
"""Retourner les volumes de boxes."""
return self._database.box_volumes
@box_volumes.setter
def box_volumes(self, value: dict[str, BoxVolume]) -> None:
def box_volumes(self, value: dict[ID, BoxVolume]) -> None:
"""Définir les volumes de boxes."""
self._database.box_volumes = value
@property
def possessions(self) -> dict[str, VolumePossession]:
def possessions(self) -> dict[ID, VolumePossession]:
"""Retourner les possessions de volumes."""
return self._database.possessions
@possessions.setter
def possessions(self, value: dict[str, VolumePossession]) -> None:
def possessions(self, value: dict[ID, VolumePossession]) -> None:
"""Définir les possessions de volumes."""
self._database.possessions = value
@property
def box_possessions(self) -> dict[str, BoxPossession]:
def box_possessions(self) -> dict[ID, BoxPossession]:
"""Retourner les possessions de boxes."""
return self._database.box_possessions
@box_possessions.setter
def box_possessions(self, value: dict[str, BoxPossession]) -> None:
def box_possessions(self, value: dict[ID, BoxPossession]) -> None:
"""Définir les possessions de boxes."""
self._database.box_possessions = value
@property
def reads(self) -> dict[str, Read]:
def reads(self) -> dict[ID, Read]:
"""Retourner les lectures."""
return self._database.reads
@reads.setter
def reads(self, value: dict[str, Read]) -> None:
def reads(self, value: dict[ID, Read]) -> None:
"""Définir les lectures."""
self._database.reads = value
@property
def follow_editions(self) -> dict[str, VolumeFollowEdition]:
def follow_editions(self) -> dict[ID, VolumeFollowEdition]:
"""Retourner les suivis d'éditions de volumes."""
return self._database.follow_editions
@follow_editions.setter
def follow_editions(self, value: dict[str, VolumeFollowEdition]) -> None:
def follow_editions(self, value: dict[ID, VolumeFollowEdition]) -> None:
"""Définir les suivis d'éditions de volumes."""
self._database.follow_editions = value
@property
def box_follow_editions(self) -> dict[str, BoxFollowEdition]:
def box_follow_editions(self) -> dict[ID, BoxFollowEdition]:
"""Retourner les suivis d'éditions de boxes."""
return self._database.box_follow_editions
@box_follow_editions.setter
def box_follow_editions(self, value: dict[str, BoxFollowEdition]) -> None:
def box_follow_editions(self, value: dict[ID, BoxFollowEdition]) -> None:
"""Définir les suivis d'éditions de boxes."""
self._database.box_follow_editions = value
@@ -5,6 +5,9 @@
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
"""Chargement des volumes dans le store local."""
from libs.store.volumes.load_volume import LoadVolume
from .add_box_volumes import add_box_volumes
from .add_boxes import add_boxes
from .add_volumes import add_volumes
from .load_volume import LoadVolume
__all__ = ["LoadVolume"]
__all__ = ["add_box_volumes", "add_boxes", "add_volumes", "LoadVolume"]
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.box_volume import BoxVolume
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import BoxVolume
from mangacollec_store import Store
def add_box_volumes(store: Store, box_volumes: list[BoxVolume]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.boxe import Boxe
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Boxe
from mangacollec_store import Store
def add_boxes(store: Store, boxes: list[Boxe]) -> None:
@@ -3,8 +3,9 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.model.catalogue.volume import Volume
from libs.store.core.store_core import Store
from mangacollec.model.catalogue import Volume
from mangacollec_store import Store
def add_volumes(store: Store, volumes: list[Volume]) -> None:
@@ -3,16 +3,13 @@
# \__ \ / __ \ / __ \ / __ \ / __/ / _ \ / __/ ____ / / / / / _ \ | | / /
# ___/ / / / / / / /_/ / / /_/ / / /_ / __/ / / /___/ / /_/ / / __/ | |/ /
# /____/ /_/ /_/ \____/ \____/ \__/ \___/ /_/ _______ /______/ \___/ |___/
from libs.mangacollec.dto.volume_response import VolumeResponse
from libs.store.core.store_core import Store
from libs.store.editions.add_box_editions import add_box_editions
from libs.store.editions.add_editions import add_editions
from libs.store.publishers.add_publishers import add_publishers
from libs.store.series.add_serie import add_serie
from libs.store.series.add_types import add_types
from libs.store.volumes.add_box_volumes import add_box_volumes
from libs.store.volumes.add_boxes import add_boxes
from libs.store.volumes.add_volumes import add_volumes
from mangacollec.dto.catalogue import VolumeResponse
from mangacollec_store import Store
from mangacollec_store.editions import add_box_editions, add_editions
from mangacollec_store.publishers import add_publishers
from mangacollec_store.series import add_serie, add_types
from mangacollec_store.volumes import add_box_volumes, add_boxes, add_volumes
class LoadVolume: