diff --git a/app/api/endpoints/douban.py b/app/api/endpoints/douban.py index 42b60130..dfbea1e7 100644 --- a/app/api/endpoints/douban.py +++ b/app/api/endpoints/douban.py @@ -1,9 +1,7 @@ from fastapi import APIRouter, Depends, HTTPException, BackgroundTasks -from sqlalchemy.orm import Session from app import schemas from app.chain.douban_sync import DoubanSyncChain -from app.db import get_db from app.db.models.user import User from app.db.userauth import get_current_active_superuser diff --git a/app/api/endpoints/login.py b/app/api/endpoints/login.py index 25e7d7df..9d09320d 100644 --- a/app/api/endpoints/login.py +++ b/app/api/endpoints/login.py @@ -6,7 +6,8 @@ from fastapi.security import OAuth2PasswordRequestForm from sqlalchemy.orm import Session from app import schemas -from app.core import security, settings +from app.core import security +from app.core.config import settings from app.db import get_db from app.db.models.user import User diff --git a/app/api/endpoints/messages.py b/app/api/endpoints/messages.py index f7b5e142..389d350c 100644 --- a/app/api/endpoints/messages.py +++ b/app/api/endpoints/messages.py @@ -5,7 +5,7 @@ from fastapi import Request from app import schemas from app.chain.user_message import UserMessageChain -from app.core import settings +from app.core.config import settings from app.log import logger from app.modules.wechat.WXBizMsgCrypt3 import WXBizMsgCrypt diff --git a/app/api/endpoints/subscribes.py b/app/api/endpoints/subscribes.py index a7131c65..511bdef7 100644 --- a/app/api/endpoints/subscribes.py +++ b/app/api/endpoints/subscribes.py @@ -5,7 +5,7 @@ from sqlalchemy.orm import Session from app import schemas from app.chain.subscribe import SubscribeChain -from app.core import settings +from app.core.config import settings from app.db import get_db from app.db.models.subscribe import Subscribe from app.db.models.user import User diff --git a/app/api/endpoints/webhooks.py b/app/api/endpoints/webhooks.py index 286705de..a42fb361 100644 --- a/app/api/endpoints/webhooks.py +++ b/app/api/endpoints/webhooks.py @@ -3,7 +3,7 @@ from fastapi import APIRouter, BackgroundTasks, Request from app import schemas from app.chain.webhook_message import WebhookMessageChain -from app.core import settings +from app.core.config import settings router = APIRouter() diff --git a/app/chain/__init__.py b/app/chain/__init__.py index b9ab2cbc..d2b8fada 100644 --- a/app/chain/__init__.py +++ b/app/chain/__init__.py @@ -5,7 +5,9 @@ from typing import Optional, Any, Tuple, List, Set, Union from ruamel.yaml import CommentedMap -from app.core import Context, ModuleManager, MediaInfo, TorrentInfo +from app.core.context import Context +from app.core.module_manager import ModuleManager +from app.core.context import MediaInfo, TorrentInfo from app.core.meta import MetaBase from app.log import logger from app.utils.singleton import AbstractSingleton, Singleton diff --git a/app/chain/common.py b/app/chain/common.py index de1e269e..9e8c4bb8 100644 --- a/app/chain/common.py +++ b/app/chain/common.py @@ -3,8 +3,7 @@ from pathlib import Path from typing import List, Optional, Tuple, Set, Dict from app.chain import ChainBase -from app.core import MediaInfo -from app.core import TorrentInfo, Context +from app.core.context import MediaInfo, TorrentInfo, Context from app.core.meta import MetaBase from app.helper.torrent import TorrentHelper from app.log import logger diff --git a/app/chain/cookiecloud.py b/app/chain/cookiecloud.py index d7297e73..622acf04 100644 --- a/app/chain/cookiecloud.py +++ b/app/chain/cookiecloud.py @@ -1,7 +1,7 @@ from typing import Tuple from app.chain import ChainBase -from app.core import settings +from app.core.config import settings from app.db.sites import Sites from app.helper.cookiecloud import CookieCloudHelper from app.helper.sites import SitesHelper diff --git a/app/chain/douban_sync.py b/app/chain/douban_sync.py index d914d02d..50876665 100644 --- a/app/chain/douban_sync.py +++ b/app/chain/douban_sync.py @@ -4,7 +4,9 @@ from typing import Optional from app.chain import ChainBase from app.chain.common import CommonChain from app.chain.search import SearchChain -from app.core import settings, MetaInfo, MediaInfo +from app.core.config import settings +from app.core.meta_info import MetaInfo +from app.core.context import MediaInfo from app.db.subscribes import Subscribes from app.helper.rss import RssHelper from app.log import logger diff --git a/app/chain/identify.py b/app/chain/identify.py index 5c2da970..06427f87 100644 --- a/app/chain/identify.py +++ b/app/chain/identify.py @@ -1,7 +1,8 @@ from typing import Optional from app.chain import ChainBase -from app.core import Context, MetaInfo, MediaInfo +from app.core.meta_info import MetaInfo +from app.core.context import Context, MediaInfo from app.log import logger diff --git a/app/chain/search.py b/app/chain/search.py index 7cd6daea..68cf3aa1 100644 --- a/app/chain/search.py +++ b/app/chain/search.py @@ -2,7 +2,9 @@ from typing import Optional, List from app.chain import ChainBase from app.chain.common import CommonChain -from app.core import Context, MetaInfo, MediaInfo, TorrentInfo, settings +from app.core.context import Context, MediaInfo, TorrentInfo +from app.core.config import settings +from app.core.meta_info import MetaInfo from app.core.meta import MetaBase from app.helper.sites import SitesHelper from app.log import logger diff --git a/app/chain/subscribe.py b/app/chain/subscribe.py index f00a5ba3..870bb034 100644 --- a/app/chain/subscribe.py +++ b/app/chain/subscribe.py @@ -3,7 +3,9 @@ from typing import Dict, List, Optional from app.chain import ChainBase from app.chain.common import CommonChain from app.chain.search import SearchChain -from app.core import MetaInfo, TorrentInfo, Context, MediaInfo, settings +from app.core.meta_info import MetaInfo +from app.core.context import TorrentInfo, Context, MediaInfo +from app.core.config import settings from app.db.subscribes import Subscribes from app.helper.sites import SitesHelper from app.log import logger diff --git a/app/chain/transfer.py b/app/chain/transfer.py index 27503c47..0c0dea8b 100644 --- a/app/chain/transfer.py +++ b/app/chain/transfer.py @@ -1,7 +1,9 @@ from typing import List, Optional from app.chain import ChainBase -from app.core import MetaInfo, MediaInfo, settings +from app.core.meta_info import MetaInfo +from app.core.context import MediaInfo +from app.core.config import settings from app.core.meta import MetaBase from app.log import logger from app.utils.string import StringUtils diff --git a/app/chain/user_message.py b/app/chain/user_message.py index aa95ad19..a59e28bc 100644 --- a/app/chain/user_message.py +++ b/app/chain/user_message.py @@ -2,7 +2,9 @@ from typing import Any from app.chain.common import * from app.chain.search import SearchChain -from app.core import MediaInfo, TorrentInfo, MetaInfo, EventManager +from app.core.context import MediaInfo, TorrentInfo +from app.core.meta_info import MetaInfo +from app.core.event_manager import EventManager from app.db.subscribes import Subscribes from app.log import logger from app.utils.types import EventType diff --git a/app/command.py b/app/command.py index 12d85fc5..96abc8bb 100644 --- a/app/command.py +++ b/app/command.py @@ -7,7 +7,8 @@ from app.chain.cookiecloud import CookieCloudChain from app.chain.douban_sync import DoubanSyncChain from app.chain.subscribe import SubscribeChain from app.chain.transfer import TransferChain -from app.core import eventmanager, PluginManager, EventManager +from app.core.event_manager import eventmanager, EventManager +from app.core.plugin_manager import PluginManager from app.core.event_manager import Event as ManagerEvent from app.log import logger from app.utils.singleton import Singleton diff --git a/app/core/__init__.py b/app/core/__init__.py index 5f304d8e..e69de29b 100644 --- a/app/core/__init__.py +++ b/app/core/__init__.py @@ -1,6 +0,0 @@ -from .config import settings -from .event_manager import eventmanager, EventManager -from .meta_info import MetaInfo -from .module_manager import ModuleManager -from .plugin_manager import PluginManager -from .context import Context, MediaInfo, TorrentInfo diff --git a/app/core/module_manager.py b/app/core/module_manager.py index b9a5e6eb..1f16b9f1 100644 --- a/app/core/module_manager.py +++ b/app/core/module_manager.py @@ -1,8 +1,8 @@ from types import FunctionType from typing import Generator, Optional -from app.core import settings -from app.helper import ModuleHelper +from app.core.config import settings +from app.helper.module import ModuleHelper from app.log import logger from app.utils.singleton import Singleton diff --git a/app/core/plugin_manager.py b/app/core/plugin_manager.py index 4928f016..04f7c4b1 100644 --- a/app/core/plugin_manager.py +++ b/app/core/plugin_manager.py @@ -2,7 +2,7 @@ import traceback from typing import List, Any from app.db.systemconfigs import SystemConfigs -from app.helper import ModuleHelper +from app.helper.module import ModuleHelper from app.log import logger from app.utils.singleton import Singleton diff --git a/app/db/subscribes.py b/app/db/subscribes.py index dc4754f5..491bd7af 100644 --- a/app/db/subscribes.py +++ b/app/db/subscribes.py @@ -2,7 +2,7 @@ from typing import Tuple, List from sqlalchemy.orm import Session -from app.core import MediaInfo +from app.core.context import MediaInfo from app.db import SessionLocal from app.db.models.subscribe import Subscribe from app.utils.types import MediaType diff --git a/app/db/userauth.py b/app/db/userauth.py index c09c2a86..fff4fd73 100644 --- a/app/db/userauth.py +++ b/app/db/userauth.py @@ -3,7 +3,8 @@ from fastapi import Depends, HTTPException, status from sqlalchemy.orm import Session from app import schemas -from app.core import settings, security +from app.core.config import settings +from app.core import security from app.core.security import reusable_oauth2 from app.db import get_db from app.db.models.user import User diff --git a/app/helper/__init__.py b/app/helper/__init__.py index 4b336652..e69de29b 100644 --- a/app/helper/__init__.py +++ b/app/helper/__init__.py @@ -1 +0,0 @@ -from .module import ModuleHelper diff --git a/app/helper/playwright.py b/app/helper/browser.py similarity index 65% rename from app/helper/playwright.py rename to app/helper/browser.py index a49532a1..2b0b474e 100644 --- a/app/helper/playwright.py +++ b/app/helper/browser.py @@ -1,12 +1,14 @@ from playwright.sync_api import sync_playwright +from app.log import logger + class PlaywrightHelper: def __init__(self, browser_type="chromium"): self.browser_type = browser_type def get_page_source(self, url: str, - cookie: str = None, + cookies: str = None, ua: str = None, proxy: dict = None, headless: bool = True, @@ -14,7 +16,7 @@ class PlaywrightHelper: """ 获取网页源码 :param url: 网页地址 - :param cookie: cookie + :param cookies: cookies :param ua: user-agent :param proxy: 代理 :param headless: 是否无头模式 @@ -24,12 +26,17 @@ class PlaywrightHelper: browser = playwright[self.browser_type].launch(headless=headless) context = browser.new_context(user_agent=ua, proxy=proxy) page = context.new_page() - if cookie: - page.set_extra_http_headers({"cookie": cookie}) - page.goto(url) - page.wait_for_load_state("networkidle", timeout=timeout) - source = page.content() - browser.close() + if cookies: + page.set_extra_http_headers({"cookie": cookies}) + try: + page.goto(url) + page.wait_for_load_state("networkidle", timeout=timeout * 1000) + source = page.content() + except Exception as e: + logger.error(f"获取网页源码失败: {e}") + source = None + finally: + browser.close() return source @@ -40,5 +47,5 @@ if __name__ == "__main__": test_url = "https://www.baidu.com" test_cookies = "cookie1=value1; cookie2=value2" test_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" - source_code = utils.get_page_source(test_url, cookie=test_cookies, ua=test_user_agent) + source_code = utils.get_page_source(test_url, cookies=test_cookies, ua=test_user_agent) print(source_code) diff --git a/app/helper/rss.py b/app/helper/rss.py index 8ea2c433..ef53d59e 100644 --- a/app/helper/rss.py +++ b/app/helper/rss.py @@ -1,7 +1,7 @@ import xml.dom.minidom from typing import List -from app.core import settings +from app.core.config import settings from app.utils.dom import DomUtils from app.utils.http import RequestUtils from app.utils.string import StringUtils diff --git a/app/helper/sites.cpython-310-darwin.so b/app/helper/sites.cpython-310-darwin.so index 03eb1e8f..751d122b 100755 Binary files a/app/helper/sites.cpython-310-darwin.so and b/app/helper/sites.cpython-310-darwin.so differ diff --git a/app/helper/torrent.py b/app/helper/torrent.py index 9c385e7a..f03ddee7 100644 --- a/app/helper/torrent.py +++ b/app/helper/torrent.py @@ -6,7 +6,9 @@ from urllib.parse import unquote from bencode import bdecode -from app.core import settings, Context, MetaInfo +from app.core.config import settings +from app.core.context import Context +from app.core.meta_info import MetaInfo from app.log import logger from app.utils.http import RequestUtils from app.utils.string import StringUtils diff --git a/app/log.py b/app/log.py index 0d821887..49fbcc4c 100644 --- a/app/log.py +++ b/app/log.py @@ -1,7 +1,7 @@ import logging from logging.handlers import RotatingFileHandler -from app.core import settings +from app.core.config import settings # logger logger = logging.getLogger() diff --git a/app/main.py b/app/main.py index 9b9c198a..4bbf6ce9 100644 --- a/app/main.py +++ b/app/main.py @@ -4,7 +4,9 @@ from uvicorn import Config from app.api.apiv1 import api_router from app.command import Command -from app.core import settings, ModuleManager, PluginManager +from app.core.config import settings +from app.core.module_manager import ModuleManager +from app.core.plugin_manager import PluginManager from app.db.init import init_db, update_db from app.helper.sites import SitesHelper from app.scheduler import Scheduler diff --git a/app/modules/douban/__init__.py b/app/modules/douban/__init__.py index 84a49485..e487e03e 100644 --- a/app/modules/douban/__init__.py +++ b/app/modules/douban/__init__.py @@ -3,7 +3,9 @@ from pathlib import Path from typing import List, Optional, Tuple, Union from xml.dom import minidom -from app.core import MediaInfo, settings, MetaInfo +from app.core.context import MediaInfo +from app.core.config import settings +from app.core.meta_info import MetaInfo from app.core.meta import MetaBase from app.log import logger from app.modules import _ModuleBase diff --git a/app/modules/emby/__init__.py b/app/modules/emby/__init__.py index 4d15eb1b..f51d8d5a 100644 --- a/app/modules/emby/__init__.py +++ b/app/modules/emby/__init__.py @@ -1,6 +1,6 @@ from typing import Optional, Tuple, Union -from app.core import MediaInfo +from app.core.context import MediaInfo from app.log import logger from app.modules import _ModuleBase from app.modules.emby.emby import Emby diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index 24d58d5c..55d67ae1 100644 --- a/app/modules/emby/emby.py +++ b/app/modules/emby/emby.py @@ -2,7 +2,7 @@ import re from pathlib import Path from typing import List, Optional, Union, Dict -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.http import RequestUtils from app.utils.singleton import Singleton diff --git a/app/modules/fanart/__init__.py b/app/modules/fanart/__init__.py index 00b05057..3902a97c 100644 --- a/app/modules/fanart/__init__.py +++ b/app/modules/fanart/__init__.py @@ -2,7 +2,7 @@ import re from functools import lru_cache from typing import Optional, Tuple, Union -from app.core import MediaInfo, settings +from app.core.context import MediaInfo, settings from app.log import logger from app.modules import _ModuleBase from app.utils.http import RequestUtils diff --git a/app/modules/filetransfer/__init__.py b/app/modules/filetransfer/__init__.py index c74c7416..b3ccd943 100644 --- a/app/modules/filetransfer/__init__.py +++ b/app/modules/filetransfer/__init__.py @@ -5,7 +5,9 @@ from typing import Optional, List, Tuple, Union from jinja2 import Template -from app.core import MediaInfo, MetaInfo, settings +from app.core.context import MediaInfo +from app.core.meta_info import MetaInfo +from app.core.config import settings from app.core.meta import MetaBase from app.log import logger from app.modules import _ModuleBase diff --git a/app/modules/filter/__init__.py b/app/modules/filter/__init__.py index c0804a8a..fcf849bd 100644 --- a/app/modules/filter/__init__.py +++ b/app/modules/filter/__init__.py @@ -1,7 +1,8 @@ import re from typing import List, Tuple, Union, Dict, Optional -from app.core import TorrentInfo, settings +from app.core.context import TorrentInfo +from app.core.config import settings from app.modules import _ModuleBase from app.modules.filter.RuleParser import RuleParser diff --git a/app/modules/indexer/__init__.py b/app/modules/indexer/__init__.py index 066f703b..817bb72b 100644 --- a/app/modules/indexer/__init__.py +++ b/app/modules/indexer/__init__.py @@ -4,7 +4,7 @@ from typing import List, Optional, Tuple, Union from ruamel.yaml import CommentedMap -from app.core import MediaInfo, TorrentInfo +from app.core.context import MediaInfo, TorrentInfo from app.log import logger from app.modules import _ModuleBase from app.modules.indexer.spider import TorrentSpider diff --git a/app/modules/indexer/spider.py b/app/modules/indexer/spider.py index fa6a4300..2dc91ce0 100644 --- a/app/modules/indexer/spider.py +++ b/app/modules/indexer/spider.py @@ -8,8 +8,8 @@ from jinja2 import Template from pyquery import PyQuery from ruamel.yaml import CommentedMap -from app.core import settings -from app.helper.playwright import PlaywrightHelper +from app.core.config import settings +from app.helper.browser import PlaywrightHelper from app.log import logger from app.utils.http import RequestUtils from app.utils.string import StringUtils @@ -17,6 +17,7 @@ from app.utils.types import MediaType class TorrentSpider: + # 是否出现错误 is_error: bool = False # 索引器ID @@ -217,7 +218,7 @@ class TorrentSpider: if self.render: page_source = PlaywrightHelper().get_page_source( url=searchurl, - cookie=self.cookie, + cookies=self.cookie, ua=self.ua, proxy=self.proxies ) diff --git a/app/modules/indexer/tnode.py b/app/modules/indexer/tnode.py index 085cb7a8..8518ecfe 100644 --- a/app/modules/indexer/tnode.py +++ b/app/modules/indexer/tnode.py @@ -3,7 +3,7 @@ from typing import Tuple, List from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.http import RequestUtils from app.utils.string import StringUtils diff --git a/app/modules/indexer/torrentleech.py b/app/modules/indexer/torrentleech.py index 6dc5037e..eabcdc10 100644 --- a/app/modules/indexer/torrentleech.py +++ b/app/modules/indexer/torrentleech.py @@ -3,7 +3,7 @@ from urllib.parse import quote from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.http import RequestUtils from app.utils.string import StringUtils diff --git a/app/modules/jellyfin/__init__.py b/app/modules/jellyfin/__init__.py index 204c6d83..50f91401 100644 --- a/app/modules/jellyfin/__init__.py +++ b/app/modules/jellyfin/__init__.py @@ -1,6 +1,6 @@ from typing import Optional, Tuple, Union -from app.core import MediaInfo +from app.core.context import MediaInfo from app.log import logger from app.modules import _ModuleBase from app.modules.jellyfin.jellyfin import Jellyfin diff --git a/app/modules/jellyfin/jellyfin.py b/app/modules/jellyfin/jellyfin.py index 790e3696..80bd8fb6 100644 --- a/app/modules/jellyfin/jellyfin.py +++ b/app/modules/jellyfin/jellyfin.py @@ -1,7 +1,7 @@ import re from typing import List, Union, Optional, Dict -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.http import RequestUtils from app.utils.singleton import Singleton diff --git a/app/modules/plex/__init__.py b/app/modules/plex/__init__.py index 185ed563..8576ec59 100644 --- a/app/modules/plex/__init__.py +++ b/app/modules/plex/__init__.py @@ -1,6 +1,6 @@ from typing import Optional, Tuple, Union -from app.core import MediaInfo +from app.core.context import MediaInfo from app.log import logger from app.modules import _ModuleBase from app.modules.plex.plex import Plex diff --git a/app/modules/plex/plex.py b/app/modules/plex/plex.py index 641a661f..5a85a004 100644 --- a/app/modules/plex/plex.py +++ b/app/modules/plex/plex.py @@ -5,7 +5,7 @@ from urllib.parse import quote_plus from plexapi import media from plexapi.server import PlexServer -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.singleton import Singleton diff --git a/app/modules/qbittorrent/__init__.py b/app/modules/qbittorrent/__init__.py index 73716700..97b595b3 100644 --- a/app/modules/qbittorrent/__init__.py +++ b/app/modules/qbittorrent/__init__.py @@ -1,7 +1,8 @@ from pathlib import Path from typing import Set, Tuple, Optional, Union, List -from app.core import settings, MetaInfo +from app.core.config import settings +from app.core.meta_info import MetaInfo from app.modules import _ModuleBase from app.modules.qbittorrent.qbittorrent import Qbittorrent from app.utils.string import StringUtils diff --git a/app/modules/qbittorrent/qbittorrent.py b/app/modules/qbittorrent/qbittorrent.py index 3d088c8c..25270063 100644 --- a/app/modules/qbittorrent/qbittorrent.py +++ b/app/modules/qbittorrent/qbittorrent.py @@ -6,7 +6,7 @@ import qbittorrentapi from qbittorrentapi import TorrentFilesList, TorrentDictionary from qbittorrentapi.client import Client -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.singleton import Singleton from app.utils.string import StringUtils diff --git a/app/modules/telegram/__init__.py b/app/modules/telegram/__init__.py index e71acf26..39de9e3b 100644 --- a/app/modules/telegram/__init__.py +++ b/app/modules/telegram/__init__.py @@ -1,7 +1,8 @@ import json from typing import Optional, Union, List, Tuple, Any -from app.core import MediaInfo, settings, Context +from app.core.context import MediaInfo, Context +from app.core.config import settings from app.log import logger from app.modules import _ModuleBase from app.modules.telegram.telegram import Telegram diff --git a/app/modules/telegram/telegram.py b/app/modules/telegram/telegram.py index 322f07f3..a93742f2 100644 --- a/app/modules/telegram/telegram.py +++ b/app/modules/telegram/telegram.py @@ -4,11 +4,11 @@ from typing import Optional, List import telebot -from app.core import settings, MediaInfo, Context +from app.core.config import settings +from app.core.context import MediaInfo, Context from app.log import logger from app.utils.http import RequestUtils from app.utils.singleton import Singleton -from app.utils.string import StringUtils class Telegram(metaclass=Singleton): @@ -20,6 +20,9 @@ class Telegram(metaclass=Singleton): """ 初始化参数 """ + if settings.MESSAGER != "telegram": + return + # Token self._telegram_token = settings.TELEGRAM_TOKEN # Chat Id @@ -72,7 +75,7 @@ class Telegram(metaclass=Singleton): else: chat_id = self._telegram_chat_id - return self.__send_request(image=image, caption=caption) + return self.__send_request(userid=chat_id, image=image, caption=caption) except Exception as msg_e: logger.error(f"发送消息失败:{msg_e}") @@ -110,7 +113,7 @@ class Telegram(metaclass=Singleton): else: chat_id = self._telegram_chat_id - return self.__send_request(image=image, caption=caption) + return self.__send_request(userid=chat_id, image=image, caption=caption) except Exception as msg_e: logger.error(f"发送消息失败:{msg_e}") @@ -140,24 +143,24 @@ class Telegram(metaclass=Singleton): else: chat_id = self._telegram_chat_id - return self.__send_request(caption=caption) + return self.__send_request(userid=chat_id, caption=caption) except Exception as msg_e: logger.error(f"发送消息失败:{msg_e}") return False - def __send_request(self, image="", caption="") -> bool: + def __send_request(self, userid: str = None, image="", caption="") -> bool: """ 向Telegram发送报文 """ if image: - ret = self._bot.send_photo(chat_id=self._telegram_chat_id, + ret = self._bot.send_photo(chat_id=userid or self._telegram_chat_id, photo=image, caption=caption, parse_mode="Markdown") else: - ret = self._bot.send_message(chat_id=self._telegram_chat_id, + ret = self._bot.send_message(chat_id=userid or self._telegram_chat_id, text=caption, parse_mode="Markdown") diff --git a/app/modules/themoviedb/__init__.py b/app/modules/themoviedb/__init__.py index 00dc5393..1deddc3d 100644 --- a/app/modules/themoviedb/__init__.py +++ b/app/modules/themoviedb/__init__.py @@ -3,7 +3,9 @@ from pathlib import Path from typing import Optional, List, Tuple, Union from xml.dom import minidom -from app.core import settings, MediaInfo, MetaInfo +from app.core.config import settings +from app.core.context import MediaInfo +from app.core.meta_info import MetaInfo from app.core.meta import MetaBase from app.log import logger from app.modules import _ModuleBase diff --git a/app/modules/themoviedb/category.py b/app/modules/themoviedb/category.py index 455bac86..d5639577 100644 --- a/app/modules/themoviedb/category.py +++ b/app/modules/themoviedb/category.py @@ -3,7 +3,7 @@ from pathlib import Path import ruamel.yaml -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.singleton import Singleton diff --git a/app/modules/themoviedb/tmdb.py b/app/modules/themoviedb/tmdb.py index 5de47a8b..5bd36dbb 100644 --- a/app/modules/themoviedb/tmdb.py +++ b/app/modules/themoviedb/tmdb.py @@ -6,7 +6,7 @@ from lxml import etree from tmdbv3api import TMDb, Search, Movie, TV, Season, Episode from tmdbv3api.exceptions import TMDbException -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.http import RequestUtils from app.utils.string import StringUtils diff --git a/app/modules/themoviedb/tmdb_cache.py b/app/modules/themoviedb/tmdb_cache.py index 6f887cac..3cffba78 100644 --- a/app/modules/themoviedb/tmdb_cache.py +++ b/app/modules/themoviedb/tmdb_cache.py @@ -5,7 +5,7 @@ from pathlib import Path from threading import RLock from typing import Optional -from app.core import settings +from app.core.config import settings from app.core.meta import MetaBase from app.utils.singleton import Singleton from app.utils.types import MediaType diff --git a/app/modules/transmission/__init__.py b/app/modules/transmission/__init__.py index 7a9e3671..b959f573 100644 --- a/app/modules/transmission/__init__.py +++ b/app/modules/transmission/__init__.py @@ -1,7 +1,8 @@ from pathlib import Path from typing import Set, Tuple, Optional, Union, List -from app.core import settings, MetaInfo +from app.core.config import settings +from app.core.meta_info import MetaInfo from app.modules import _ModuleBase from app.modules.transmission.transmission import Transmission from app.utils.types import TorrentStatus diff --git a/app/modules/transmission/transmission.py b/app/modules/transmission/transmission.py index ee431ca8..ee970334 100644 --- a/app/modules/transmission/transmission.py +++ b/app/modules/transmission/transmission.py @@ -4,7 +4,7 @@ from typing import Optional, Union, Tuple, List import transmission_rpc from transmission_rpc import Client, Torrent, File -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.singleton import Singleton from app.utils.string import StringUtils diff --git a/app/modules/wechat/__init__.py b/app/modules/wechat/__init__.py index 4fbdfb94..db98b78c 100644 --- a/app/modules/wechat/__init__.py +++ b/app/modules/wechat/__init__.py @@ -1,7 +1,8 @@ import xml.dom.minidom from typing import Optional, Union, List, Tuple, Any -from app.core import MediaInfo, settings, Context +from app.core.context import MediaInfo, Context +from app.core.config import settings from app.log import logger from app.modules import _ModuleBase from app.modules.wechat.WXBizMsgCrypt3 import WXBizMsgCrypt diff --git a/app/modules/wechat/wechat.py b/app/modules/wechat/wechat.py index 337f57e2..d46863ea 100644 --- a/app/modules/wechat/wechat.py +++ b/app/modules/wechat/wechat.py @@ -3,7 +3,8 @@ import threading from datetime import datetime from typing import Optional, List -from app.core import settings, MediaInfo, Context +from app.core.config import settings +from app.core.context import MediaInfo, Context from app.log import logger from app.utils.http import RequestUtils from app.utils.singleton import Singleton diff --git a/app/plugins/__init__.py b/app/plugins/__init__.py index 25da6cb5..d74aafa3 100644 --- a/app/plugins/__init__.py +++ b/app/plugins/__init__.py @@ -4,7 +4,7 @@ from pathlib import Path from typing import Any from app.chain import ChainBase -from app.core import settings +from app.core.config import settings from app.db import SessionLocal from app.db.models import Base from app.db.models.plugin import PluginData diff --git a/app/plugins/autosignin/__init__.py b/app/plugins/autosignin/__init__.py index dc972852..be038894 100644 --- a/app/plugins/autosignin/__init__.py +++ b/app/plugins/autosignin/__init__.py @@ -7,8 +7,9 @@ from urllib.parse import urljoin from apscheduler.schedulers.background import BackgroundScheduler from ruamel.yaml import CommentedMap -from app.core import EventManager, settings, eventmanager -from app.helper import ModuleHelper +from app.core.event_manager import EventManager, eventmanager +from app.core.config import settings +from app.helper.module import ModuleHelper from app.helper.cloudflare import under_challenge from app.helper.sites import SitesHelper from app.log import logger diff --git a/app/plugins/autosignin/sites/52pt.py b/app/plugins/autosignin/sites/52pt.py index ef805d4d..b67f0665 100644 --- a/app/plugins/autosignin/sites/52pt.py +++ b/app/plugins/autosignin/sites/52pt.py @@ -4,7 +4,7 @@ from typing import Tuple from lxml import etree -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/btschool.py b/app/plugins/autosignin/sites/btschool.py index 15913e45..ac764221 100644 --- a/app/plugins/autosignin/sites/btschool.py +++ b/app/plugins/autosignin/sites/btschool.py @@ -2,7 +2,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/chdbits.py b/app/plugins/autosignin/sites/chdbits.py index adf09544..3a85db3b 100644 --- a/app/plugins/autosignin/sites/chdbits.py +++ b/app/plugins/autosignin/sites/chdbits.py @@ -5,7 +5,7 @@ from typing import Tuple from lxml import etree from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/haidan.py b/app/plugins/autosignin/sites/haidan.py index 1d8acd4a..c461e33f 100644 --- a/app/plugins/autosignin/sites/haidan.py +++ b/app/plugins/autosignin/sites/haidan.py @@ -2,7 +2,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/hares.py b/app/plugins/autosignin/sites/hares.py index c8bdca29..2f14534c 100644 --- a/app/plugins/autosignin/sites/hares.py +++ b/app/plugins/autosignin/sites/hares.py @@ -3,7 +3,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/hdarea.py b/app/plugins/autosignin/sites/hdarea.py index f9132c82..8ee533fe 100644 --- a/app/plugins/autosignin/sites/hdarea.py +++ b/app/plugins/autosignin/sites/hdarea.py @@ -2,7 +2,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/hdchina.py b/app/plugins/autosignin/sites/hdchina.py index a0bc6a46..768fd67f 100644 --- a/app/plugins/autosignin/sites/hdchina.py +++ b/app/plugins/autosignin/sites/hdchina.py @@ -4,7 +4,7 @@ from typing import Tuple from lxml import etree from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/hdcity.py b/app/plugins/autosignin/sites/hdcity.py index 87c02f5a..9bb4de76 100644 --- a/app/plugins/autosignin/sites/hdcity.py +++ b/app/plugins/autosignin/sites/hdcity.py @@ -2,7 +2,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/hdsky.py b/app/plugins/autosignin/sites/hdsky.py index f57b5082..764698ca 100644 --- a/app/plugins/autosignin/sites/hdsky.py +++ b/app/plugins/autosignin/sites/hdsky.py @@ -4,7 +4,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.helper.ocr import OcrHelper from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler diff --git a/app/plugins/autosignin/sites/hdupt.py b/app/plugins/autosignin/sites/hdupt.py index c3dbbc09..b3bf8eea 100644 --- a/app/plugins/autosignin/sites/hdupt.py +++ b/app/plugins/autosignin/sites/hdupt.py @@ -3,7 +3,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/opencd.py b/app/plugins/autosignin/sites/opencd.py index bfaca8bb..8e7f0d41 100644 --- a/app/plugins/autosignin/sites/opencd.py +++ b/app/plugins/autosignin/sites/opencd.py @@ -5,7 +5,7 @@ from typing import Tuple from lxml import etree from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.helper.ocr import OcrHelper from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler diff --git a/app/plugins/autosignin/sites/pterclub.py b/app/plugins/autosignin/sites/pterclub.py index fc6b67a1..4336289e 100644 --- a/app/plugins/autosignin/sites/pterclub.py +++ b/app/plugins/autosignin/sites/pterclub.py @@ -3,7 +3,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/tjupt.py b/app/plugins/autosignin/sites/tjupt.py index f66eed91..1edc9f0f 100644 --- a/app/plugins/autosignin/sites/tjupt.py +++ b/app/plugins/autosignin/sites/tjupt.py @@ -8,7 +8,7 @@ from PIL import Image from lxml import etree from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/ttg.py b/app/plugins/autosignin/sites/ttg.py index 156b9854..bf731053 100644 --- a/app/plugins/autosignin/sites/ttg.py +++ b/app/plugins/autosignin/sites/ttg.py @@ -3,7 +3,7 @@ from typing import Tuple from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/u2.py b/app/plugins/autosignin/sites/u2.py index d1af38c5..890c157b 100644 --- a/app/plugins/autosignin/sites/u2.py +++ b/app/plugins/autosignin/sites/u2.py @@ -6,7 +6,7 @@ from typing import Tuple from lxml import etree from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/autosignin/sites/zhuque.py b/app/plugins/autosignin/sites/zhuque.py index 270e0f4f..be3f9400 100644 --- a/app/plugins/autosignin/sites/zhuque.py +++ b/app/plugins/autosignin/sites/zhuque.py @@ -4,7 +4,7 @@ from typing import Tuple from lxml import etree from ruamel.yaml import CommentedMap -from app.core import settings +from app.core.config import settings from app.log import logger from app.plugins.autosignin.sites import _ISiteSigninHandler from app.utils.http import RequestUtils diff --git a/app/plugins/sitestatistic/__init__.py b/app/plugins/sitestatistic/__init__.py index 9ca81811..558fc9a2 100644 --- a/app/plugins/sitestatistic/__init__.py +++ b/app/plugins/sitestatistic/__init__.py @@ -7,9 +7,10 @@ import requests from apscheduler.schedulers.background import BackgroundScheduler from ruamel.yaml import CommentedMap -from app.core import settings, eventmanager +from app.core.config import settings +from app.core.event_manager import eventmanager from app.core.event_manager import Event -from app.helper import ModuleHelper +from app.helper.module import ModuleHelper from app.helper.sites import SitesHelper from app.log import logger from app.plugins import _PluginBase diff --git a/app/plugins/sitestatistic/siteuserinfo/__init__.py b/app/plugins/sitestatistic/siteuserinfo/__init__.py index 930aaf54..6d6b380e 100644 --- a/app/plugins/sitestatistic/siteuserinfo/__init__.py +++ b/app/plugins/sitestatistic/siteuserinfo/__init__.py @@ -10,7 +10,7 @@ import requests from lxml import etree from requests import Session -from app.core import settings +from app.core.config import settings from app.helper.cloudflare import under_challenge from app.log import logger from app.utils.http import RequestUtils diff --git a/app/scheduler.py b/app/scheduler.py index 6450a7ab..384c9e5e 100644 --- a/app/scheduler.py +++ b/app/scheduler.py @@ -9,7 +9,7 @@ from app.chain.cookiecloud import CookieCloudChain from app.chain.douban_sync import DoubanSyncChain from app.chain.subscribe import SubscribeChain from app.chain.transfer import TransferChain -from app.core import settings +from app.core.config import settings from app.log import logger from app.utils.singleton import Singleton from app.utils.timer import TimerUtils diff --git a/tests/test_filter.py b/tests/test_filter.py index 61c14dd0..fded08ce 100644 --- a/tests/test_filter.py +++ b/tests/test_filter.py @@ -2,7 +2,7 @@ from unittest import TestCase -from app.core import TorrentInfo +from app.core.context import TorrentInfo from app.modules.filter import FilterModule diff --git a/tests/test_metainfo.py b/tests/test_metainfo.py index 5c198648..6132d628 100644 --- a/tests/test_metainfo.py +++ b/tests/test_metainfo.py @@ -2,7 +2,7 @@ from unittest import TestCase -from app.core import MetaInfo +from app.core.meta_info import MetaInfo from tests.cases.meta import meta_cases