This commit is contained in:
jxxghp
2024-05-20 20:48:32 +08:00
parent f89dbcda52
commit d69884c6f3

View File

@@ -1,7 +1,9 @@
# -*- coding: utf-8 -*-
import json
from typing import Optional, Tuple
from urllib.parse import urljoin
from app.log import logger
from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo, SITE_BASE_ORDER, SiteSchema
from app.utils.string import StringUtils
@@ -25,7 +27,11 @@ class TYemaSiteUserInfo(ISiteUserInfo):
self._sys_mail_unread_page = None
self._user_mail_unread_page = None
self._mail_unread_params = {}
self._torrent_seeding_page = None
self._torrent_seeding_page = "api/torrent/fetchUserTorrentList"
self.__torrent_seeding_params = {
"status": "seeding",
"pageParam": {"current": 1, "pageSize": 40, "total": 40}
}
self._torrent_seeding_headers = {}
self._addition_headers = {
"Content-Type": "application/json",
@@ -78,7 +84,44 @@ class TYemaSiteUserInfo(ISiteUserInfo):
"""
解析用户做种信息
"""
pass
if not html_text:
return None
seeding_info = json.loads(html_text)
if not seeding_info or not seeding_info.get("success"):
return None
torrents = seeding_info.get("data") or []
page_seeding_size = 0
page_seeding_info = []
for info in torrents:
size = info.get("promotionUploadSize")
seeders = '0'
page_seeding_size += size
page_seeding_info.append([seeders, size])
self.seeding += len(torrents)
self.seeding_size += page_seeding_size
self.seeding_info.extend(page_seeding_info)
# 查询总做种数
seeder_count = 0
try:
result = self._get_page_content(
url=urljoin(self.site_url, "api/torrent/fetchUserTorrentCount"),
params={
"status": "seeding",
}
)
if result:
seeder_info = json.loads(result)
seeder_count = seeder_info.get("data") or 0
except Exception as e:
logger.error(f"获取做种数失败: {str(e)}")
if not seeder_count:
return None
if self.seeding >= seeder_count:
return None
# 还有下一页
self._torrent_seeding_params["pageParam"]["current"] += 1
return ""
def _parse_message_unread_links(self, html_text: str, msg_links: list) -> Optional[str]:
"""