mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-28 19:47:41 +08:00
fix(architecture): move media auxiliary mixin into _base package
media_auxiliary 作为模块共享 Mixin 放在 app/modules 顶层会被视为 业务模块,导致 anilist/bangumi/douban/imdb/themoviedb 跨模块直接 依赖,违反模块间禁止导入的架构约束。移入模块共享样板包 app/modules/_base(模块发现跳过)并同步依赖基线。
This commit is contained in:
@@ -10,7 +10,7 @@ from app.domain.meta.metabase import MetaBase
|
||||
from app.domain.scraper import MediaScraperHelper
|
||||
from app.modules import _ModuleBase
|
||||
from app.modules.anilist.anilist import AniListApi
|
||||
from app.modules.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.modules._base.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.runtime.log import logger
|
||||
from app.schemas.types import (
|
||||
MediaRecognizeType,
|
||||
|
||||
@@ -12,7 +12,7 @@ from app.domain.meta.metabase import MetaBase
|
||||
from app.domain.scraper import MediaScraperHelper
|
||||
from app.modules import _ModuleBase
|
||||
from app.modules.bangumi.bangumi import BangumiApi
|
||||
from app.modules.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.modules._base.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.runtime.log import logger
|
||||
from app.schemas.types import (
|
||||
MediaRecognizeType,
|
||||
|
||||
@@ -21,7 +21,7 @@ from app.foundation.text import convert as zhconv_convert
|
||||
from app.modules import _ModuleBase
|
||||
from app.modules.douban.apiv2 import DoubanApi
|
||||
from app.modules.douban.scraper import DoubanScraper
|
||||
from app.modules.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.modules._base.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.runtime.execution import retry
|
||||
from app.runtime.log import logger
|
||||
from app.runtime.rate import rate_limit_exponential
|
||||
|
||||
@@ -11,7 +11,7 @@ from app.domain.meta.metabase import MetaBase
|
||||
from app.domain.scraper import MediaScraperHelper
|
||||
from app.foundation.text import convert as zhconv_convert
|
||||
from app.modules import _ModuleBase
|
||||
from app.modules.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.modules._base.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
|
||||
@@ -15,7 +15,7 @@ from app.domain.media import is_media_source_enabled, is_media_source_selected
|
||||
from app.domain.meta.metabase import MetaBase
|
||||
from app.foundation.text import convert as zhconv_convert
|
||||
from app.modules import _ModuleBase
|
||||
from app.modules.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.modules._base.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.modules.themoviedb.category import CategoryHelper
|
||||
from app.modules.themoviedb.scraper import TmdbScraper
|
||||
from app.modules.themoviedb.tmdb_cache import TmdbCache
|
||||
|
||||
+21
-16
@@ -13,8 +13,8 @@
|
||||
"runtime_to_db": [],
|
||||
"workflow_to_db": []
|
||||
},
|
||||
"edge_count": 6804,
|
||||
"edge_sha256": "3e9a93795c6cfb5bc78e4871ae7c11b064ec0a2ea4f545ce94a6c0c696800df4",
|
||||
"edge_count": 6809,
|
||||
"edge_sha256": "0e5ab6c1e8d428de4edbc0ee162f17130143946c483967aaf49bca8c7c75b105",
|
||||
"edges": [
|
||||
"app -> app.runtime",
|
||||
"app -> app.runtime.compat",
|
||||
@@ -4113,6 +4113,14 @@
|
||||
"app.modules._base.downloader -> app.runtime.log",
|
||||
"app.modules._base.downloader -> app.schemas",
|
||||
"app.modules._base.downloader -> app.schemas.types",
|
||||
"app.modules._base.media_auxiliary -> app.domain",
|
||||
"app.modules._base.media_auxiliary -> app.domain.context",
|
||||
"app.modules._base.media_auxiliary -> app.domain.media",
|
||||
"app.modules._base.media_auxiliary -> app.domain.meta",
|
||||
"app.modules._base.media_auxiliary -> app.domain.meta.metabase",
|
||||
"app.modules._base.media_auxiliary -> app.domain.metainfo",
|
||||
"app.modules._base.media_auxiliary -> app.schemas",
|
||||
"app.modules._base.media_auxiliary -> app.schemas.types",
|
||||
"app.modules._base.mediaserver -> app.application",
|
||||
"app.modules._base.mediaserver -> app.application.mediaserver",
|
||||
"app.modules._base.mediaserver -> app.domain",
|
||||
@@ -4154,8 +4162,9 @@
|
||||
"app.modules.anilist -> app.domain.meta.metabase",
|
||||
"app.modules.anilist -> app.domain.scraper",
|
||||
"app.modules.anilist -> app.modules",
|
||||
"app.modules.anilist -> app.modules._base",
|
||||
"app.modules.anilist -> app.modules._base.media_auxiliary",
|
||||
"app.modules.anilist -> app.modules.anilist.anilist",
|
||||
"app.modules.anilist -> app.modules.media_auxiliary",
|
||||
"app.modules.anilist -> app.runtime",
|
||||
"app.modules.anilist -> app.runtime.log",
|
||||
"app.modules.anilist -> app.runtime.settings",
|
||||
@@ -4179,8 +4188,9 @@
|
||||
"app.modules.bangumi -> app.domain.meta.metabase",
|
||||
"app.modules.bangumi -> app.domain.scraper",
|
||||
"app.modules.bangumi -> app.modules",
|
||||
"app.modules.bangumi -> app.modules._base",
|
||||
"app.modules.bangumi -> app.modules._base.media_auxiliary",
|
||||
"app.modules.bangumi -> app.modules.bangumi.bangumi",
|
||||
"app.modules.bangumi -> app.modules.media_auxiliary",
|
||||
"app.modules.bangumi -> app.runtime",
|
||||
"app.modules.bangumi -> app.runtime.log",
|
||||
"app.modules.bangumi -> app.runtime.settings",
|
||||
@@ -4251,9 +4261,10 @@
|
||||
"app.modules.douban -> app.foundation",
|
||||
"app.modules.douban -> app.foundation.text",
|
||||
"app.modules.douban -> app.modules",
|
||||
"app.modules.douban -> app.modules._base",
|
||||
"app.modules.douban -> app.modules._base.media_auxiliary",
|
||||
"app.modules.douban -> app.modules.douban.apiv2",
|
||||
"app.modules.douban -> app.modules.douban.scraper",
|
||||
"app.modules.douban -> app.modules.media_auxiliary",
|
||||
"app.modules.douban -> app.runtime",
|
||||
"app.modules.douban -> app.runtime.execution",
|
||||
"app.modules.douban -> app.runtime.log",
|
||||
@@ -4548,8 +4559,9 @@
|
||||
"app.modules.imdb -> app.foundation",
|
||||
"app.modules.imdb -> app.foundation.text",
|
||||
"app.modules.imdb -> app.modules",
|
||||
"app.modules.imdb -> app.modules._base",
|
||||
"app.modules.imdb -> app.modules._base.media_auxiliary",
|
||||
"app.modules.imdb -> app.modules.imdb.api",
|
||||
"app.modules.imdb -> app.modules.media_auxiliary",
|
||||
"app.modules.imdb -> app.runtime",
|
||||
"app.modules.imdb -> app.runtime.log",
|
||||
"app.modules.imdb -> app.runtime.settings",
|
||||
@@ -4920,14 +4932,6 @@
|
||||
"app.modules.lrclib -> app.runtime.settings",
|
||||
"app.modules.lrclib -> app.schemas",
|
||||
"app.modules.lrclib -> app.schemas.types",
|
||||
"app.modules.media_auxiliary -> app.domain",
|
||||
"app.modules.media_auxiliary -> app.domain.context",
|
||||
"app.modules.media_auxiliary -> app.domain.media",
|
||||
"app.modules.media_auxiliary -> app.domain.meta",
|
||||
"app.modules.media_auxiliary -> app.domain.meta.metabase",
|
||||
"app.modules.media_auxiliary -> app.domain.metainfo",
|
||||
"app.modules.media_auxiliary -> app.schemas",
|
||||
"app.modules.media_auxiliary -> app.schemas.types",
|
||||
"app.modules.musicbrainz -> app.adapters",
|
||||
"app.modules.musicbrainz -> app.adapters.network",
|
||||
"app.modules.musicbrainz -> app.adapters.network.http",
|
||||
@@ -5260,7 +5264,8 @@
|
||||
"app.modules.themoviedb -> app.foundation",
|
||||
"app.modules.themoviedb -> app.foundation.text",
|
||||
"app.modules.themoviedb -> app.modules",
|
||||
"app.modules.themoviedb -> app.modules.media_auxiliary",
|
||||
"app.modules.themoviedb -> app.modules._base",
|
||||
"app.modules.themoviedb -> app.modules._base.media_auxiliary",
|
||||
"app.modules.themoviedb -> app.modules.themoviedb.category",
|
||||
"app.modules.themoviedb -> app.modules.themoviedb.scraper",
|
||||
"app.modules.themoviedb -> app.modules.themoviedb.tmdb_cache",
|
||||
@@ -7320,6 +7325,7 @@
|
||||
"app.modules",
|
||||
"app.modules._base",
|
||||
"app.modules._base.downloader",
|
||||
"app.modules._base.media_auxiliary",
|
||||
"app.modules._base.mediaserver",
|
||||
"app.modules._base.notification",
|
||||
"app.modules.acoustid",
|
||||
@@ -7388,7 +7394,6 @@
|
||||
"app.modules.jellyfin.jellyfin",
|
||||
"app.modules.listenbrainz",
|
||||
"app.modules.lrclib",
|
||||
"app.modules.media_auxiliary",
|
||||
"app.modules.musicbrainz",
|
||||
"app.modules.musicbrainz.music_cache",
|
||||
"app.modules.musixmatch",
|
||||
|
||||
@@ -6,7 +6,7 @@ from unittest.mock import patch
|
||||
|
||||
from app.chain.search import SearchChain
|
||||
from app.domain.context import MediaInfo
|
||||
from app.modules.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.modules._base.media_auxiliary import MediaAuxiliaryProviderMixin
|
||||
from app.schemas.types import MediaSource, MediaType
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user