This commit is contained in:
jxxghp 2024-01-01 19:43:55 +08:00
parent 56ad281cb6
commit 90f9edbf24
4 changed files with 21 additions and 6 deletions

View File

@ -6,6 +6,7 @@ from app.core.config import settings
from app.core.meta import MetaBase
from app.core.metainfo import MetaInfo
from app.schemas.types import MediaType
from app.utils.string import StringUtils
@dataclass
@ -109,12 +110,22 @@ class TorrentInfo:
"""
return self.get_free_string(self.uploadvolumefactor, self.downloadvolumefactor)
@property
def freedate_diff(self):
"""
返回免费剩余时间
"""
if not self.freedate:
return ""
return StringUtils.diff_time_str(self.freedate)
def to_dict(self):
"""
返回字典
"""
dicts = asdict(self)
dicts["volume_factor"] = self.volume_factor
dicts["freedate_diff"] = self.freedate_diff
return dicts

View File

@ -549,12 +549,12 @@ class TorrentSpider:
def __get_free_date(self, torrent):
# free date
if 'free_date' not in self.fields:
if 'freedate' not in self.fields:
return
selector = self.fields.get('free_date', {})
free_date = torrent(selector.get('selector', '')).clone()
self.__remove(free_date, selector)
items = self.__attribute_or_text(free_date, selector)
selector = self.fields.get('freedate', {})
freedate = torrent(selector.get('selector', '')).clone()
self.__remove(freedate, selector)
items = self.__attribute_or_text(freedate, selector)
self.torrents_info['freedate'] = self.__index(items, selector)
self.torrents_info['freedate'] = self.__filter_text(self.torrents_info.get('freedate'),
selector.get('filters'))

View File

@ -210,6 +210,8 @@ class TorrentInfo(BaseModel):
pri_order: Optional[int] = 0
# 促销
volume_factor: Optional[str] = None
# 剩余免费时间
freedate_diff: Optional[str] = None
class Context(BaseModel):

View File

@ -733,5 +733,7 @@ class StringUtils:
return f'{diff_days}{diff_hours}小时{diff_minutes}分钟'
elif diff_hours > 0:
return f'{diff_hours}小时{diff_minutes}分钟'
else:
elif diff_minutes > 0:
return f'{diff_minutes}分钟'
else:
return ''