♻️ _site_name 和 _default_cookie_cd 内置 CookieClientManager

This commit is contained in:
suyiiyii 2024-10-29 21:28:35 +08:00
parent 8a8a48aef6
commit 074fe3ff58
Signed by: suyiiyii
GPG Key ID: 044704CB29B8AD85
4 changed files with 6 additions and 14 deletions

View File

@ -49,8 +49,8 @@ class BilibiliClientManager(CookieClientManager):
async def _generate_anonymous_cookie(self) -> CookieModel:
cookies = await self._get_cookies()
cookie = CookieModel(
cookie_name=f"{self._site.name} anonymous",
site_name=self._site.name,
cookie_name=f"{self._site_name} anonymous",
site_name=self._site_name,
content=json.dumps(self._gen_json_cookie(cookies)),
is_universal=True,
is_anonymous=True,

View File

@ -1,4 +1,3 @@
from typing import cast
from dataclasses import dataclass
from collections import defaultdict
@ -13,7 +12,7 @@ from ..send import send_msgs
from ..types import Target, SubUnit
from ..platform import platform_manager
from ..utils import Site, ProcessContext
from ..utils.site import CookieClientManager, SkipRequestException, is_cookie_client_manager
from ..utils.site import SkipRequestException
@dataclass
@ -42,11 +41,7 @@ class Scheduler:
raise RuntimeError(f"{self.name} not found")
self.scheduler_config = scheduler_config
self.scheduler_config_obj = self.scheduler_config()
if is_cookie_client_manager(scheduler_config.client_mgr):
cookie_client_mgr = cast(type[CookieClientManager], scheduler_config.client_mgr)
self.client_mgr = cookie_client_mgr(self.scheduler_config_obj)
else:
self.client_mgr = scheduler_config.client_mgr()
self.client_mgr = scheduler_config.client_mgr()
self.schedulable_list = []
self.batch_platform_name_targets_cache = defaultdict(list)

View File

@ -44,10 +44,7 @@ class DefaultClientManager(ClientManager):
class CookieClientManager(ClientManager):
_default_cookie_cd: int = timedelta(seconds=15)
def __init__(self, site: "Site") -> None:
self._site = site
self._site_name = site.name
_site_name: str = ""
async def _generate_anonymous_cookie(self) -> Cookie:
return Cookie(

View File

@ -32,7 +32,7 @@ def bilibili(app: App) -> "Bilibili":
from nonebot_bison.platform import platform_manager
from nonebot_bison.platform.bilibili import BilibiliClientManager
return platform_manager["bilibili"](ProcessContext(BilibiliClientManager(platform_manager["bilibili"].site))) # type: ignore
return platform_manager["bilibili"](ProcessContext(BilibiliClientManager())) # type: ignore
@pytest.fixture