mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-02 09:26:12 +08:00
♻️ _site_name 和 _default_cookie_cd 内置 CookieClientManager
This commit is contained in:
parent
8a8a48aef6
commit
074fe3ff58
@ -49,8 +49,8 @@ class BilibiliClientManager(CookieClientManager):
|
|||||||
async def _generate_anonymous_cookie(self) -> CookieModel:
|
async def _generate_anonymous_cookie(self) -> CookieModel:
|
||||||
cookies = await self._get_cookies()
|
cookies = await self._get_cookies()
|
||||||
cookie = CookieModel(
|
cookie = CookieModel(
|
||||||
cookie_name=f"{self._site.name} anonymous",
|
cookie_name=f"{self._site_name} anonymous",
|
||||||
site_name=self._site.name,
|
site_name=self._site_name,
|
||||||
content=json.dumps(self._gen_json_cookie(cookies)),
|
content=json.dumps(self._gen_json_cookie(cookies)),
|
||||||
is_universal=True,
|
is_universal=True,
|
||||||
is_anonymous=True,
|
is_anonymous=True,
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
from typing import cast
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
@ -13,7 +12,7 @@ from ..send import send_msgs
|
|||||||
from ..types import Target, SubUnit
|
from ..types import Target, SubUnit
|
||||||
from ..platform import platform_manager
|
from ..platform import platform_manager
|
||||||
from ..utils import Site, ProcessContext
|
from ..utils import Site, ProcessContext
|
||||||
from ..utils.site import CookieClientManager, SkipRequestException, is_cookie_client_manager
|
from ..utils.site import SkipRequestException
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -42,11 +41,7 @@ class Scheduler:
|
|||||||
raise RuntimeError(f"{self.name} not found")
|
raise RuntimeError(f"{self.name} not found")
|
||||||
self.scheduler_config = scheduler_config
|
self.scheduler_config = scheduler_config
|
||||||
self.scheduler_config_obj = self.scheduler_config()
|
self.scheduler_config_obj = self.scheduler_config()
|
||||||
if is_cookie_client_manager(scheduler_config.client_mgr):
|
self.client_mgr = 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.schedulable_list = []
|
self.schedulable_list = []
|
||||||
self.batch_platform_name_targets_cache = defaultdict(list)
|
self.batch_platform_name_targets_cache = defaultdict(list)
|
||||||
|
@ -44,10 +44,7 @@ class DefaultClientManager(ClientManager):
|
|||||||
|
|
||||||
class CookieClientManager(ClientManager):
|
class CookieClientManager(ClientManager):
|
||||||
_default_cookie_cd: int = timedelta(seconds=15)
|
_default_cookie_cd: int = timedelta(seconds=15)
|
||||||
|
_site_name: str = ""
|
||||||
def __init__(self, site: "Site") -> None:
|
|
||||||
self._site = site
|
|
||||||
self._site_name = site.name
|
|
||||||
|
|
||||||
async def _generate_anonymous_cookie(self) -> Cookie:
|
async def _generate_anonymous_cookie(self) -> Cookie:
|
||||||
return Cookie(
|
return Cookie(
|
||||||
|
@ -32,7 +32,7 @@ def bilibili(app: App) -> "Bilibili":
|
|||||||
from nonebot_bison.platform import platform_manager
|
from nonebot_bison.platform import platform_manager
|
||||||
from nonebot_bison.platform.bilibili import BilibiliClientManager
|
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
|
@pytest.fixture
|
||||||
|
Loading…
x
Reference in New Issue
Block a user