From 6a5e117f0b0c7b20c762b90a443dea41c084f592 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 16 Jun 2023 07:11:14 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E4=BA=8B=E4=BB=B6=E5=B9=BF=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/subscribes.py | 2 +- app/api/servarr.py | 3 +-- app/chain/__init__.py | 4 +++- app/chain/download.py | 8 +++++++- app/chain/search.py | 2 +- app/chain/subscribe.py | 2 +- app/chain/transfer.py | 8 +++++++- app/chain/user_message.py | 2 +- app/chain/webhook_message.py | 3 +++ app/command.py | 3 +-- app/core/context.py | 2 +- app/core/event.py | 2 +- app/core/meta/metaanime.py | 2 +- app/core/meta/metabase.py | 2 +- app/core/meta/metavideo.py | 2 +- app/db/systemconfig_oper.py | 2 +- app/helper/torrent.py | 2 +- app/modules/__init__.py | 2 +- app/modules/douban/__init__.py | 2 +- app/modules/emby/__init__.py | 2 +- app/modules/emby/emby.py | 2 +- app/modules/fanart/__init__.py | 2 +- app/modules/filetransfer/__init__.py | 2 +- app/modules/indexer/__init__.py | 2 +- app/modules/indexer/spider.py | 2 +- app/modules/jellyfin/__init__.py | 2 +- app/modules/plex/__init__.py | 2 +- app/modules/qbittorrent/__init__.py | 2 +- app/modules/themoviedb/__init__.py | 2 +- app/modules/themoviedb/tmdb.py | 2 +- app/modules/themoviedb/tmdb_cache.py | 2 +- app/modules/transmission/__init__.py | 2 +- app/plugins/autosignin/__init__.py | 2 +- app/plugins/sitestatistic/__init__.py | 2 +- app/plugins/sitestatistic/siteuserinfo/__init__.py | 2 +- app/plugins/sitestatistic/siteuserinfo/discuz.py | 2 +- app/plugins/sitestatistic/siteuserinfo/file_list.py | 2 +- app/plugins/sitestatistic/siteuserinfo/gazelle.py | 2 +- app/plugins/sitestatistic/siteuserinfo/ipt_project.py | 2 +- app/plugins/sitestatistic/siteuserinfo/nexus_php.py | 2 +- app/plugins/sitestatistic/siteuserinfo/nexus_project.py | 2 +- app/plugins/sitestatistic/siteuserinfo/nexus_rabbit.py | 2 +- app/plugins/sitestatistic/siteuserinfo/small_horse.py | 2 +- app/plugins/sitestatistic/siteuserinfo/tnode.py | 2 +- app/plugins/sitestatistic/siteuserinfo/torrent_leech.py | 2 +- app/plugins/sitestatistic/siteuserinfo/unit3d.py | 2 +- app/schemas/context.py | 2 +- app/{utils => schemas}/types.py | 6 ++++++ app/utils/string.py | 2 +- 49 files changed, 70 insertions(+), 49 deletions(-) rename app/{utils => schemas}/types.py (84%) diff --git a/app/api/endpoints/subscribes.py b/app/api/endpoints/subscribes.py index 8e5487c4..a728e74f 100644 --- a/app/api/endpoints/subscribes.py +++ b/app/api/endpoints/subscribes.py @@ -10,7 +10,7 @@ from app.db import get_db from app.db.models.subscribe import Subscribe from app.db.models.user import User from app.db.userauth import get_current_active_superuser -from app.utils.types import MediaType +from app.schemas.types import MediaType router = APIRouter() diff --git a/app/api/servarr.py b/app/api/servarr.py index c5071f47..d6fee5a7 100644 --- a/app/api/servarr.py +++ b/app/api/servarr.py @@ -1,4 +1,3 @@ -from pathlib import Path from typing import Any, List from fastapi import APIRouter, HTTPException, Depends @@ -12,7 +11,7 @@ from app.core.metainfo import MetaInfo from app.db import get_db from app.db.models.subscribe import Subscribe from app.schemas import RadarrMovie, SonarrSeries -from app.utils.types import MediaType +from app.schemas.types import MediaType from version import APP_VERSION arr_router = APIRouter() diff --git a/app/chain/__init__.py b/app/chain/__init__.py index e0fdced5..d7221033 100644 --- a/app/chain/__init__.py +++ b/app/chain/__init__.py @@ -6,13 +6,14 @@ from typing import Optional, Any, Tuple, List, Set, Union, Dict from ruamel.yaml import CommentedMap from app.core.context import Context +from app.core.event import EventManager from app.core.module import ModuleManager from app.core.context import MediaInfo, TorrentInfo from app.core.meta import MetaBase from app.log import logger from app.schemas.context import TransferInfo, TransferTorrent, ExistMediaInfo, DownloadingTorrent from app.utils.singleton import AbstractSingleton, Singleton -from app.utils.types import TorrentStatus, MediaType +from app.schemas.types import TorrentStatus, MediaType class ChainBase(AbstractSingleton, metaclass=Singleton): @@ -25,6 +26,7 @@ class ChainBase(AbstractSingleton, metaclass=Singleton): 公共初始化 """ self.modulemanager = ModuleManager() + self.eventmanager = EventManager() @abstractmethod def process(self, *args, **kwargs) -> Optional[Context]: diff --git a/app/chain/download.py b/app/chain/download.py index e8126477..ee92b8ce 100644 --- a/app/chain/download.py +++ b/app/chain/download.py @@ -9,7 +9,7 @@ from app.helper.torrent import TorrentHelper from app.log import logger from app.schemas.context import ExistMediaInfo, NotExistMediaInfo from app.utils.string import StringUtils -from app.utils.types import MediaType, TorrentStatus +from app.schemas.types import MediaType, TorrentStatus, EventType class DownloadChain(ChainBase): @@ -115,6 +115,12 @@ class DownloadChain(ChainBase): self.post_download_message(meta=_meta, mediainfo=_media, torrent=_torrent, userid=userid) # 下载成功后处理 self.download_added(context=_context, torrent_path=_torrent_file) + # 广播事件 + self.eventmanager.send_event(EventType.DownloadAdded, { + "hash": _hash, + "torrent_file": _torrent_file, + "context": _context + }) else: # 下载失败 logger.error(f"{_media.title_year} 添加下载任务失败:" diff --git a/app/chain/search.py b/app/chain/search.py index c48770b3..df31e835 100644 --- a/app/chain/search.py +++ b/app/chain/search.py @@ -9,7 +9,7 @@ from app.helper.sites import SitesHelper from app.log import logger from app.schemas.context import NotExistMediaInfo from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class SearchChain(ChainBase): diff --git a/app/chain/subscribe.py b/app/chain/subscribe.py index 75309d93..0c5cd7e3 100644 --- a/app/chain/subscribe.py +++ b/app/chain/subscribe.py @@ -11,7 +11,7 @@ from app.helper.sites import SitesHelper from app.log import logger from app.schemas.context import NotExistMediaInfo from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class SubscribeChain(ChainBase): diff --git a/app/chain/transfer.py b/app/chain/transfer.py index f041d464..f67faf81 100644 --- a/app/chain/transfer.py +++ b/app/chain/transfer.py @@ -10,7 +10,7 @@ from app.log import logger from app.schemas.context import TransferInfo, TransferTorrent from app.utils.string import StringUtils from app.utils.system import SystemUtils -from app.utils.types import TorrentStatus +from app.schemas.types import TorrentStatus, EventType class TransferChain(ChainBase): @@ -114,6 +114,12 @@ class TransferChain(ChainBase): self.refresh_mediaserver(mediainfo=mediainfo, file_path=transferinfo.target_path) # 发送通知 self.__send_transfer_message(meta=meta, mediainfo=mediainfo, transferinfo=transferinfo) + # 广播事件 + self.eventmanager.send_event(EventType.TransferComplete, { + 'meta': meta, + 'mediainfo': mediainfo, + 'transferinfo': transferinfo + }) logger.info("下载器文件转移执行完成") return True diff --git a/app/chain/user_message.py b/app/chain/user_message.py index e4a6a05e..e3386ecf 100644 --- a/app/chain/user_message.py +++ b/app/chain/user_message.py @@ -7,7 +7,7 @@ from app.core.context import MediaInfo, TorrentInfo from app.core.metainfo import MetaInfo from app.core.event import EventManager from app.log import logger -from app.utils.types import EventType +from app.schemas.types import EventType class UserMessageChain(ChainBase): diff --git a/app/chain/webhook_message.py b/app/chain/webhook_message.py index 41fa089c..85afd16c 100644 --- a/app/chain/webhook_message.py +++ b/app/chain/webhook_message.py @@ -3,6 +3,7 @@ from typing import Any from app.chain import ChainBase from app.utils.http import WebUtils +from app.schemas.types import EventType class WebhookMessageChain(ChainBase): @@ -18,6 +19,8 @@ class WebhookMessageChain(ChainBase): event_info: dict = self.webhook_parser(body=body, form=form, args=args) if not event_info: return + # 广播事件 + self.eventmanager.send_event(EventType.WebhookMessage, event_info) # 拼装消息内容 _webhook_actions = { "library.new": "新入库", diff --git a/app/command.py b/app/command.py index 72382647..31012cc4 100644 --- a/app/command.py +++ b/app/command.py @@ -1,4 +1,3 @@ -import inspect import traceback from threading import Thread, Event from typing import Any, Union @@ -16,7 +15,7 @@ from app.core.event import Event as ManagerEvent from app.log import logger from app.utils.object import ObjectUtils from app.utils.singleton import Singleton -from app.utils.types import EventType +from app.schemas.types import EventType class CommandChian(ChainBase): diff --git a/app/core/context.py b/app/core/context.py index 4f309a7d..7fc58563 100644 --- a/app/core/context.py +++ b/app/core/context.py @@ -3,7 +3,7 @@ from typing import Optional, Any, List from app.core.config import settings from app.core.meta import MetaBase from app.core.metainfo import MetaInfo -from app.utils.types import MediaType +from app.schemas.types import MediaType class TorrentInfo: diff --git a/app/core/event.py b/app/core/event.py index 3b60d350..79e63078 100644 --- a/app/core/event.py +++ b/app/core/event.py @@ -2,7 +2,7 @@ from queue import Queue, Empty from app.log import logger from app.utils.singleton import Singleton -from app.utils.types import EventType +from app.schemas.types import EventType class EventManager(metaclass=Singleton): diff --git a/app/core/meta/metaanime.py b/app/core/meta/metaanime.py index c5191d1c..606022df 100644 --- a/app/core/meta/metaanime.py +++ b/app/core/meta/metaanime.py @@ -4,7 +4,7 @@ import anitopy from app.core.meta.metabase import MetaBase from app.core.meta.release_groups import ReleaseGroupsMatcher from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class MetaAnime(MetaBase): diff --git a/app/core/meta/metabase.py b/app/core/meta/metabase.py index 9b195043..2e7499d0 100644 --- a/app/core/meta/metabase.py +++ b/app/core/meta/metabase.py @@ -4,7 +4,7 @@ import cn2an import regex as re from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class MetaBase(object): diff --git a/app/core/meta/metavideo.py b/app/core/meta/metavideo.py index 602bb254..8ce94706 100644 --- a/app/core/meta/metavideo.py +++ b/app/core/meta/metavideo.py @@ -6,7 +6,7 @@ from app.core.meta.metabase import MetaBase from app.core.meta.release_groups import ReleaseGroupsMatcher from app.utils.string import StringUtils from app.utils.tokens import Tokens -from app.utils.types import MediaType +from app.schemas.types import MediaType class MetaVideo(MetaBase): diff --git a/app/db/systemconfig_oper.py b/app/db/systemconfig_oper.py index 8daa6ac7..b36f3dc1 100644 --- a/app/db/systemconfig_oper.py +++ b/app/db/systemconfig_oper.py @@ -5,7 +5,7 @@ from app.db import DbOper from app.db.models.systemconfig import SystemConfig from app.utils.object import ObjectUtils from app.utils.singleton import Singleton -from app.utils.types import SystemConfigKey +from app.schemas.types import SystemConfigKey class SystemConfigOper(DbOper, metaclass=Singleton): diff --git a/app/helper/torrent.py b/app/helper/torrent.py index 8f6f6648..16e7e2d0 100644 --- a/app/helper/torrent.py +++ b/app/helper/torrent.py @@ -12,7 +12,7 @@ from app.core.context import Context from app.core.metainfo import MetaInfo from app.log import logger from app.utils.http import RequestUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class TorrentHelper: diff --git a/app/modules/__init__.py b/app/modules/__init__.py index f37de3c2..9ec2bbd6 100644 --- a/app/modules/__init__.py +++ b/app/modules/__init__.py @@ -7,7 +7,7 @@ from ruamel.yaml import CommentedMap from app.core.context import MediaInfo, TorrentInfo, Context from app.core.meta import MetaBase from app.schemas.context import TransferInfo, TransferTorrent, ExistMediaInfo, DownloadingTorrent -from app.utils.types import TorrentStatus, MediaType +from app.schemas.types import TorrentStatus, MediaType class _ModuleBase(metaclass=ABCMeta): diff --git a/app/modules/douban/__init__.py b/app/modules/douban/__init__.py index 53416d5b..4668d15e 100644 --- a/app/modules/douban/__init__.py +++ b/app/modules/douban/__init__.py @@ -13,7 +13,7 @@ from app.modules.douban.apiv2 import DoubanApi from app.utils.dom import DomUtils from app.utils.http import RequestUtils from app.utils.system import SystemUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class DoubanModule(_ModuleBase): diff --git a/app/modules/emby/__init__.py b/app/modules/emby/__init__.py index 76d2b4cc..fac798da 100644 --- a/app/modules/emby/__init__.py +++ b/app/modules/emby/__init__.py @@ -6,7 +6,7 @@ from app.log import logger from app.modules import _ModuleBase from app.modules.emby.emby import Emby from app.schemas.context import ExistMediaInfo, RefreshMediaItem -from app.utils.types import MediaType +from app.schemas.types import MediaType class EmbyModule(_ModuleBase): diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index c4c603d5..796dae72 100644 --- a/app/modules/emby/emby.py +++ b/app/modules/emby/emby.py @@ -9,7 +9,7 @@ from app.schemas.context import RefreshMediaItem from app.utils.http import RequestUtils from app.utils.singleton import Singleton from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class Emby(metaclass=Singleton): diff --git a/app/modules/fanart/__init__.py b/app/modules/fanart/__init__.py index 93713d22..d1cba614 100644 --- a/app/modules/fanart/__init__.py +++ b/app/modules/fanart/__init__.py @@ -6,7 +6,7 @@ from app.core.context import MediaInfo, settings from app.log import logger from app.modules import _ModuleBase from app.utils.http import RequestUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class FanartModule(_ModuleBase): diff --git a/app/modules/filetransfer/__init__.py b/app/modules/filetransfer/__init__.py index 5ffa420c..f993e1a0 100644 --- a/app/modules/filetransfer/__init__.py +++ b/app/modules/filetransfer/__init__.py @@ -13,7 +13,7 @@ from app.log import logger from app.modules import _ModuleBase from app.schemas.context import TransferInfo from app.utils.system import SystemUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType lock = Lock() diff --git a/app/modules/indexer/__init__.py b/app/modules/indexer/__init__.py index 592853e6..79c5af9f 100644 --- a/app/modules/indexer/__init__.py +++ b/app/modules/indexer/__init__.py @@ -11,7 +11,7 @@ from app.modules.indexer.spider import TorrentSpider from app.modules.indexer.tnode import TNodeSpider from app.modules.indexer.torrentleech import TorrentLeech from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class IndexerModule(_ModuleBase): diff --git a/app/modules/indexer/spider.py b/app/modules/indexer/spider.py index 6b164802..40b24b30 100644 --- a/app/modules/indexer/spider.py +++ b/app/modules/indexer/spider.py @@ -14,7 +14,7 @@ from app.helper.browser import PlaywrightHelper from app.log import logger from app.utils.http import RequestUtils from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class TorrentSpider: diff --git a/app/modules/jellyfin/__init__.py b/app/modules/jellyfin/__init__.py index ece5039b..1c60a171 100644 --- a/app/modules/jellyfin/__init__.py +++ b/app/modules/jellyfin/__init__.py @@ -7,7 +7,7 @@ from app.log import logger from app.modules import _ModuleBase from app.modules.jellyfin.jellyfin import Jellyfin from app.schemas.context import ExistMediaInfo -from app.utils.types import MediaType +from app.schemas.types import MediaType class JellyfinModule(_ModuleBase): diff --git a/app/modules/plex/__init__.py b/app/modules/plex/__init__.py index 6e4a9917..287fee52 100644 --- a/app/modules/plex/__init__.py +++ b/app/modules/plex/__init__.py @@ -6,7 +6,7 @@ from app.log import logger from app.modules import _ModuleBase from app.modules.plex.plex import Plex from app.schemas.context import ExistMediaInfo, RefreshMediaItem -from app.utils.types import MediaType +from app.schemas.types import MediaType class PlexModule(_ModuleBase): diff --git a/app/modules/qbittorrent/__init__.py b/app/modules/qbittorrent/__init__.py index 56cf57c6..3222ad54 100644 --- a/app/modules/qbittorrent/__init__.py +++ b/app/modules/qbittorrent/__init__.py @@ -8,7 +8,7 @@ from app.modules import _ModuleBase from app.modules.qbittorrent.qbittorrent import Qbittorrent from app.schemas.context import TransferInfo, TransferTorrent, DownloadingTorrent from app.utils.string import StringUtils -from app.utils.types import TorrentStatus +from app.schemas.types import TorrentStatus class QbittorrentModule(_ModuleBase): diff --git a/app/modules/themoviedb/__init__.py b/app/modules/themoviedb/__init__.py index 56a959a9..06524bee 100644 --- a/app/modules/themoviedb/__init__.py +++ b/app/modules/themoviedb/__init__.py @@ -15,7 +15,7 @@ from app.modules.themoviedb.tmdb_cache import TmdbCache from app.utils.dom import DomUtils from app.utils.http import RequestUtils from app.utils.system import SystemUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class TheMovieDbModule(_ModuleBase): diff --git a/app/modules/themoviedb/tmdb.py b/app/modules/themoviedb/tmdb.py index 37af76bd..d3c15553 100644 --- a/app/modules/themoviedb/tmdb.py +++ b/app/modules/themoviedb/tmdb.py @@ -12,7 +12,7 @@ from app.core.config import settings from app.log import logger from app.utils.http import RequestUtils from app.utils.string import StringUtils -from app.utils.types import MediaType +from app.schemas.types import MediaType class TmdbHelper: diff --git a/app/modules/themoviedb/tmdb_cache.py b/app/modules/themoviedb/tmdb_cache.py index ec34a777..facf7f39 100644 --- a/app/modules/themoviedb/tmdb_cache.py +++ b/app/modules/themoviedb/tmdb_cache.py @@ -8,7 +8,7 @@ from typing import Optional from app.core.config import settings from app.core.meta import MetaBase from app.utils.singleton import Singleton -from app.utils.types import MediaType +from app.schemas.types import MediaType lock = RLock() diff --git a/app/modules/transmission/__init__.py b/app/modules/transmission/__init__.py index 6e01df4d..c0cf08bf 100644 --- a/app/modules/transmission/__init__.py +++ b/app/modules/transmission/__init__.py @@ -7,7 +7,7 @@ from app.log import logger from app.modules import _ModuleBase from app.modules.transmission.transmission import Transmission from app.schemas.context import TransferInfo, TransferTorrent, DownloadingTorrent -from app.utils.types import TorrentStatus +from app.schemas.types import TorrentStatus class TransmissionModule(_ModuleBase): diff --git a/app/plugins/autosignin/__init__.py b/app/plugins/autosignin/__init__.py index 30002308..78de1a33 100644 --- a/app/plugins/autosignin/__init__.py +++ b/app/plugins/autosignin/__init__.py @@ -18,7 +18,7 @@ from app.plugins import _PluginBase from app.utils.http import RequestUtils from app.utils.site import SiteUtils from app.utils.timer import TimerUtils -from app.utils.types import EventType +from app.schemas.types import EventType class AutoSignIn(_PluginBase): diff --git a/app/plugins/sitestatistic/__init__.py b/app/plugins/sitestatistic/__init__.py index af9d9e53..a47a7c64 100644 --- a/app/plugins/sitestatistic/__init__.py +++ b/app/plugins/sitestatistic/__init__.py @@ -22,7 +22,7 @@ from app.utils.timer import TimerUtils import warnings -from app.utils.types import EventType +from app.schemas.types import EventType warnings.filterwarnings("ignore", category=FutureWarning) diff --git a/app/plugins/sitestatistic/siteuserinfo/__init__.py b/app/plugins/sitestatistic/siteuserinfo/__init__.py index 69a9b1a6..b6892eef 100644 --- a/app/plugins/sitestatistic/siteuserinfo/__init__.py +++ b/app/plugins/sitestatistic/siteuserinfo/__init__.py @@ -13,7 +13,7 @@ from app.helper.cloudflare import under_challenge from app.log import logger from app.utils.http import RequestUtils from app.utils.site import SiteUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema SITE_BASE_ORDER = 1000 diff --git a/app/plugins/sitestatistic/siteuserinfo/discuz.py b/app/plugins/sitestatistic/siteuserinfo/discuz.py index b636e805..4769b76a 100644 --- a/app/plugins/sitestatistic/siteuserinfo/discuz.py +++ b/app/plugins/sitestatistic/siteuserinfo/discuz.py @@ -6,7 +6,7 @@ from lxml import etree from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class DiscuzUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/file_list.py b/app/plugins/sitestatistic/siteuserinfo/file_list.py index d2bd6062..b6aaf632 100644 --- a/app/plugins/sitestatistic/siteuserinfo/file_list.py +++ b/app/plugins/sitestatistic/siteuserinfo/file_list.py @@ -6,7 +6,7 @@ from lxml import etree from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class FileListSiteUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/gazelle.py b/app/plugins/sitestatistic/siteuserinfo/gazelle.py index 2161f525..4d50166b 100644 --- a/app/plugins/sitestatistic/siteuserinfo/gazelle.py +++ b/app/plugins/sitestatistic/siteuserinfo/gazelle.py @@ -6,7 +6,7 @@ from lxml import etree from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class GazelleSiteUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/ipt_project.py b/app/plugins/sitestatistic/siteuserinfo/ipt_project.py index 39399fc6..22f2e4e6 100644 --- a/app/plugins/sitestatistic/siteuserinfo/ipt_project.py +++ b/app/plugins/sitestatistic/siteuserinfo/ipt_project.py @@ -6,7 +6,7 @@ from lxml import etree from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class IptSiteUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/nexus_php.py b/app/plugins/sitestatistic/siteuserinfo/nexus_php.py index 54817385..5982266d 100644 --- a/app/plugins/sitestatistic/siteuserinfo/nexus_php.py +++ b/app/plugins/sitestatistic/siteuserinfo/nexus_php.py @@ -7,7 +7,7 @@ from lxml import etree from app.log import logger from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class NexusPhpSiteUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/nexus_project.py b/app/plugins/sitestatistic/siteuserinfo/nexus_project.py index 049b193a..a3ff89cf 100644 --- a/app/plugins/sitestatistic/siteuserinfo/nexus_project.py +++ b/app/plugins/sitestatistic/siteuserinfo/nexus_project.py @@ -3,7 +3,7 @@ import re from app.plugins.sitestatistic.siteuserinfo import SITE_BASE_ORDER from app.plugins.sitestatistic.siteuserinfo.nexus_php import NexusPhpSiteUserInfo -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class NexusProjectSiteUserInfo(NexusPhpSiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/nexus_rabbit.py b/app/plugins/sitestatistic/siteuserinfo/nexus_rabbit.py index 6de44904..72619a79 100644 --- a/app/plugins/sitestatistic/siteuserinfo/nexus_rabbit.py +++ b/app/plugins/sitestatistic/siteuserinfo/nexus_rabbit.py @@ -7,7 +7,7 @@ from lxml import etree from app.log import logger from app.plugins.sitestatistic.siteuserinfo import SITE_BASE_ORDER from app.plugins.sitestatistic.siteuserinfo.nexus_php import NexusPhpSiteUserInfo -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class NexusRabbitSiteUserInfo(NexusPhpSiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/small_horse.py b/app/plugins/sitestatistic/siteuserinfo/small_horse.py index 147e0846..202c8aae 100644 --- a/app/plugins/sitestatistic/siteuserinfo/small_horse.py +++ b/app/plugins/sitestatistic/siteuserinfo/small_horse.py @@ -6,7 +6,7 @@ from lxml import etree from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class SmallHorseSiteUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/tnode.py b/app/plugins/sitestatistic/siteuserinfo/tnode.py index 71e65524..ab65873a 100644 --- a/app/plugins/sitestatistic/siteuserinfo/tnode.py +++ b/app/plugins/sitestatistic/siteuserinfo/tnode.py @@ -5,7 +5,7 @@ from typing import Optional from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class TNodeSiteUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/torrent_leech.py b/app/plugins/sitestatistic/siteuserinfo/torrent_leech.py index de0d32cc..6a59086e 100644 --- a/app/plugins/sitestatistic/siteuserinfo/torrent_leech.py +++ b/app/plugins/sitestatistic/siteuserinfo/torrent_leech.py @@ -6,7 +6,7 @@ from lxml import etree from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class TorrentLeechSiteUserInfo(ISiteUserInfo): diff --git a/app/plugins/sitestatistic/siteuserinfo/unit3d.py b/app/plugins/sitestatistic/siteuserinfo/unit3d.py index 4e1802b8..ed904e28 100644 --- a/app/plugins/sitestatistic/siteuserinfo/unit3d.py +++ b/app/plugins/sitestatistic/siteuserinfo/unit3d.py @@ -6,7 +6,7 @@ from lxml import etree from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER from app.utils.string import StringUtils -from app.utils.types import SiteSchema +from app.schemas.types import SiteSchema class Unit3dSiteUserInfo(ISiteUserInfo): diff --git a/app/schemas/context.py b/app/schemas/context.py index 6dade5a1..4cb20cbd 100644 --- a/app/schemas/context.py +++ b/app/schemas/context.py @@ -3,7 +3,7 @@ from typing import Optional, Dict from pydantic import BaseModel -from app.utils.types import MediaType +from app.schemas.types import MediaType class MetaInfo(BaseModel): diff --git a/app/utils/types.py b/app/schemas/types.py similarity index 84% rename from app/utils/types.py rename to app/schemas/types.py index 1d94ee1b..de55ad21 100644 --- a/app/utils/types.py +++ b/app/schemas/types.py @@ -22,6 +22,12 @@ class EventType(Enum): SiteSignin = "site.signin" # 站点数据统计 SiteStatistic = "site.statistic" + # Webhook消息 + WebhookMessage = "webhook.message" + # 转移完成 + TransferComplete = "transfer.complete" + # 添加下载 + DownloadAdded = "download.added" # 系统配置Key字典 diff --git a/app/utils/string.py b/app/utils/string.py index 932ab862..f2279336 100644 --- a/app/utils/string.py +++ b/app/utils/string.py @@ -10,7 +10,7 @@ import cn2an import dateparser import dateutil.parser -from app.utils.types import MediaType +from app.schemas.types import MediaType class StringUtils: