fix bugs
This commit is contained in:
@ -34,7 +34,10 @@ def storage(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||
"""
|
||||
查询存储空间信息
|
||||
"""
|
||||
total_storage, free_storage = SystemUtils.space_usage(Path(settings.LIBRARY_PATH))
|
||||
if settings.LIBRARY_PATH:
|
||||
total_storage, free_storage = SystemUtils.space_usage(Path(settings.LIBRARY_PATH))
|
||||
else:
|
||||
total_storage, free_storage = 0, 0
|
||||
return schemas.Storage(
|
||||
total_storage=total_storage,
|
||||
used_storage=total_storage - free_storage
|
||||
@ -75,6 +78,8 @@ def schedule(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||
# 去重
|
||||
added = []
|
||||
jobs = Scheduler().list()
|
||||
# 按照下次运行时间排序
|
||||
jobs.sort(key=lambda x: x.next_run_time)
|
||||
for job in jobs:
|
||||
if job.name not in added:
|
||||
added.append(job.name)
|
||||
|
@ -44,8 +44,8 @@ class SearchChain(ChainBase):
|
||||
return []
|
||||
results = self.process(mediainfo=mediainfo)
|
||||
# 保存眲结果
|
||||
self.systemconfig.set(SystemConfigKey.SearchResults,
|
||||
pickle.dumps(results))
|
||||
bytes_results = pickle.dumps(results)
|
||||
self.systemconfig.set(SystemConfigKey.SearchResults, bytes_results)
|
||||
return results
|
||||
|
||||
def search_by_title(self, title: str) -> List[TorrentInfo]:
|
||||
@ -206,10 +206,10 @@ class SearchChain(ChainBase):
|
||||
# 未开启的站点不搜索
|
||||
indexer_sites = []
|
||||
# 配置的索引站点
|
||||
config_indexers = self.systemconfig.get(SystemConfigKey.IndexerSites) or []
|
||||
config_indexers = [str(sid) for sid in self.systemconfig.get(SystemConfigKey.IndexerSites) or []]
|
||||
for indexer in self.siteshelper.get_indexers():
|
||||
# 检查站点索引开关
|
||||
if not config_indexers or indexer.get("id") in config_indexers:
|
||||
if not config_indexers or str(indexer.get("id")) in config_indexers:
|
||||
# 站点流控
|
||||
state, msg = self.siteshelper.check(indexer.get("domain"))
|
||||
if not state:
|
||||
|
@ -272,11 +272,11 @@ class SubscribeChain(ChainBase):
|
||||
# 所有站点索引
|
||||
indexers = self.siteshelper.get_indexers()
|
||||
# 配置的索引站点
|
||||
config_indexers = self.systemconfig.get(SystemConfigKey.IndexerSites) or []
|
||||
config_indexers = [str(sid) for sid in self.systemconfig.get(SystemConfigKey.IndexerSites) or []]
|
||||
# 遍历站点缓存资源
|
||||
for indexer in indexers:
|
||||
# 未开启的站点不搜索
|
||||
if config_indexers and indexer.get("id") not in config_indexers:
|
||||
if config_indexers and str(indexer.get("id")) not in config_indexers:
|
||||
continue
|
||||
logger.info(f'开始刷新站点资源,站点:{indexer.get("name")} ...')
|
||||
domain = StringUtils.get_url_domain(indexer.get("domain"))
|
||||
|
@ -55,9 +55,6 @@ class TorrentInfo:
|
||||
# 种子优先级
|
||||
pri_order: int = 0
|
||||
|
||||
def __getattr__(self, attribute):
|
||||
return None
|
||||
|
||||
def __setattr__(self, name: str, value: Any):
|
||||
self.__dict__[name] = value
|
||||
|
||||
@ -175,9 +172,6 @@ class MediaInfo:
|
||||
if self.douban_info:
|
||||
self.set_douban_info(self.douban_info)
|
||||
|
||||
def __getattr__(self, attribute):
|
||||
return None
|
||||
|
||||
def __setattr__(self, name: str, value: Any):
|
||||
self.__dict__[name] = value
|
||||
|
||||
@ -518,9 +512,6 @@ class Context:
|
||||
# 种子信息
|
||||
torrent_info: TorrentInfo = None
|
||||
|
||||
def __getattr__(self, attribute):
|
||||
return None
|
||||
|
||||
def __setattr__(self, name: str, value: Any):
|
||||
self.__dict__[name] = value
|
||||
|
||||
|
@ -7,10 +7,18 @@ class ObjectUtils:
|
||||
|
||||
@staticmethod
|
||||
def is_obj(obj: Any):
|
||||
if isinstance(obj, list) or isinstance(obj, dict):
|
||||
if isinstance(obj, list) \
|
||||
or isinstance(obj, dict):
|
||||
return True
|
||||
elif isinstance(obj, str) \
|
||||
or isinstance(obj, int) \
|
||||
or isinstance(obj, float) \
|
||||
or isinstance(obj, bool) \
|
||||
or isinstance(obj, bytes):
|
||||
return False
|
||||
else:
|
||||
return str(obj).startswith("{") or str(obj).startswith("[")
|
||||
return str(obj).startswith("{") \
|
||||
or str(obj).startswith("[")
|
||||
|
||||
@staticmethod
|
||||
def arguments(func: Callable) -> int:
|
||||
|
@ -42,11 +42,17 @@ class TimerUtils:
|
||||
|
||||
@staticmethod
|
||||
def time_difference(input_datetime: datetime) -> str:
|
||||
"""
|
||||
判断输入时间与当前的时间差,如果输入时间大于当前时间则返回时间差,否则返回空字符串
|
||||
"""
|
||||
if not input_datetime:
|
||||
return ""
|
||||
current_datetime = datetime.datetime.now(datetime.timezone.utc).astimezone()
|
||||
time_difference = input_datetime - current_datetime
|
||||
|
||||
if time_difference.total_seconds() < 0:
|
||||
return ""
|
||||
|
||||
days = time_difference.days
|
||||
hours, remainder = divmod(time_difference.seconds, 3600)
|
||||
minutes, _ = divmod(remainder, 60)
|
||||
|
Reference in New Issue
Block a user