mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2026-05-10 18:57:56 +08:00
:recycles: 仿照 platform_manager 添加 site_manager
This commit is contained in:
@@ -1,25 +1,25 @@
|
||||
import difflib
|
||||
import re
|
||||
import sys
|
||||
import difflib
|
||||
|
||||
import nonebot
|
||||
from nonebot.plugin import require
|
||||
from bs4 import BeautifulSoup as bs
|
||||
from nonebot.log import logger, default_format
|
||||
from nonebot.plugin import require
|
||||
from nonebot_plugin_saa import Text, Image, MessageSegmentFactory
|
||||
|
||||
from .site import Site as Site
|
||||
from ..plugin_config import plugin_config
|
||||
from .image import pic_merge as pic_merge
|
||||
from .context import ProcessContext as ProcessContext
|
||||
from .http import http_client as http_client
|
||||
from .image import capture_html as capture_html
|
||||
from .site import ClientManager as ClientManager
|
||||
from .image import text_to_image as text_to_image
|
||||
from .site import anonymous_site as anonymous_site
|
||||
from .context import ProcessContext as ProcessContext
|
||||
from .image import is_pics_mergable as is_pics_mergable
|
||||
from .image import pic_merge as pic_merge
|
||||
from .image import pic_url_to_image as pic_url_to_image
|
||||
from .image import text_to_image as text_to_image
|
||||
from .site import ClientManager as ClientManager
|
||||
from .site import DefaultClientManager as DefaultClientManager
|
||||
from .site import Site as Site
|
||||
from .site import anonymous_site as anonymous_site
|
||||
from ..plugin_config import plugin_config
|
||||
|
||||
|
||||
class Singleton(type):
|
||||
|
||||
@@ -7,8 +7,9 @@ from datetime import datetime, timedelta
|
||||
import httpx
|
||||
from httpx import AsyncClient
|
||||
from nonebot.log import logger
|
||||
from sqlalchemy.testing.suite.test_reflection import metadata
|
||||
|
||||
from ..types import Target
|
||||
from ..types import Target, RegistryMeta
|
||||
from ..config import config
|
||||
from .http import http_client
|
||||
from ..config.db_model import Cookie
|
||||
@@ -163,12 +164,14 @@ def create_cookie_client_manager(platform_name: str):
|
||||
|
||||
|
||||
|
||||
class Site:
|
||||
class Site(metaclass=RegistryMeta,base=True):
|
||||
schedule_type: Literal["date", "interval", "cron"]
|
||||
schedule_setting: dict
|
||||
name: str
|
||||
client_mgr: type[ClientManager] = DefaultClientManager
|
||||
require_browser: bool = False
|
||||
registry: list[type["Site"]]
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return f"[{self.name}]-{self.name}-{self.schedule_setting}"
|
||||
|
||||
Reference in New Issue
Block a user