refactor(types): govern gazelle site parser

This commit is contained in:
jxxghp
2026-10-17 01:18:15 +08:00
parent 1e7dd5d864
commit 9b35d01582

View File

@@ -8,7 +8,7 @@ from app.foundation import size as size_tools
from app.foundation import temporal as time_tools
from app.foundation import text as text_tools
from app.foundation.dom import DomUtils
from app.modules.indexer.parser import SiteParserBase, SiteSchema
from app.modules.indexer.parser import SitePage, SiteParserBase, SiteSchema
class GazelleSiteUserInfo(SiteParserBase):
@@ -35,7 +35,8 @@ class GazelleSiteUserInfo(SiteParserBase):
return super()._parse_logged_in(html_text)
def _parse_user_base_info(self, html_text: str):
def _parse_user_base_info(self, html_text: SitePage) -> None:
"""解析站点用户身份和页面提供的基础统计。"""
html_text = self._prepare_html_text(html_text)
html = etree.HTML(html_text)
try:
@@ -82,10 +83,11 @@ class GazelleSiteUserInfo(SiteParserBase):
if html is not None:
del html
def _parse_site_page(self, html_text: str):
def _parse_site_page(self, html_text: SitePage) -> None:
"""该站点在其他解析入口处理此数据,本入口不追加操作。"""
pass
def _parse_user_detail_info(self, html_text: str):
def _parse_user_detail_info(self, html_text: str) -> None:
"""
解析用户额外信息,加入时间,等级
:param html_text:
@@ -220,11 +222,14 @@ class GazelleSiteUserInfo(SiteParserBase):
return next_page
def _parse_user_traffic_info(self, html_text: str):
def _parse_user_traffic_info(self, html_text: str) -> None:
"""该站点在其他解析入口处理此数据,本入口不追加操作。"""
pass
def _parse_message_unread_links(self, html_text: str, msg_links: list) -> Optional[str]:
def _parse_message_unread_links(self, html_text: str, msg_links: list[str]) -> Optional[str]:
"""收集未读消息链接,返回仍需读取的下一页。"""
return None
def _parse_message_content(self, html_text):
def _parse_message_content(self, html_text: str) -> tuple[Optional[str], Optional[str], Optional[str]]:
"""解析消息标题、日期和正文;无独立消息页时返回空结果。"""
return None, None, None