修复tr 选中种子下载失败
This commit is contained in:
@ -121,20 +121,25 @@ class TransmissionModule(_ModuleBase):
|
|||||||
return torrent_hash, "获取种子文件失败,下载任务可能在暂停状态"
|
return torrent_hash, "获取种子文件失败,下载任务可能在暂停状态"
|
||||||
# 需要的文件信息
|
# 需要的文件信息
|
||||||
file_ids = []
|
file_ids = []
|
||||||
|
unwanted_file_ids = []
|
||||||
for torrent_file in torrent_files:
|
for torrent_file in torrent_files:
|
||||||
file_id = torrent_file.id
|
file_id = torrent_file.id
|
||||||
file_name = torrent_file.name
|
file_name = torrent_file.name
|
||||||
meta_info = MetaInfo(file_name)
|
meta_info = MetaInfo(file_name)
|
||||||
if not meta_info.episode_list:
|
if not meta_info.episode_list:
|
||||||
|
unwanted_file_ids.append(file_id)
|
||||||
continue
|
continue
|
||||||
selected = set(meta_info.episode_list).issubset(set(episodes))
|
selected = set(meta_info.episode_list).issubset(set(episodes))
|
||||||
if not selected:
|
if not selected:
|
||||||
|
unwanted_file_ids.append(file_id)
|
||||||
continue
|
continue
|
||||||
file_ids.append(file_id)
|
file_ids.append(file_id)
|
||||||
# 选择文件
|
# 选择文件
|
||||||
self.transmission.set_files(torrent_hash, file_ids)
|
self.transmission.set_files(torrent_hash, file_ids)
|
||||||
|
self.transmission.set_unwanted_files(torrent_hash, unwanted_file_ids)
|
||||||
# 开始任务
|
# 开始任务
|
||||||
self.transmission.start_torrents(torrent_hash)
|
self.transmission.start_torrents(torrent_hash)
|
||||||
|
return torrent_hash, "添加下载任务成功"
|
||||||
else:
|
else:
|
||||||
return torrent_hash, "添加下载任务成功"
|
return torrent_hash, "添加下载任务成功"
|
||||||
|
|
||||||
|
@ -242,6 +242,19 @@ class Transmission:
|
|||||||
logger.error(f"设置下载文件状态出错:{str(err)}")
|
logger.error(f"设置下载文件状态出错:{str(err)}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def set_unwanted_files(self, tid: str, file_ids: list) -> bool:
|
||||||
|
"""
|
||||||
|
设置下载文件的状态
|
||||||
|
"""
|
||||||
|
if not self.trc:
|
||||||
|
return False
|
||||||
|
try:
|
||||||
|
self.trc.change_torrent(ids=tid, files_unwanted=file_ids)
|
||||||
|
return True
|
||||||
|
except Exception as err:
|
||||||
|
logger.error(f"设置下载文件状态出错:{str(err)}")
|
||||||
|
return False
|
||||||
|
|
||||||
def transfer_info(self) -> Optional[SessionStats]:
|
def transfer_info(self) -> Optional[SessionStats]:
|
||||||
"""
|
"""
|
||||||
获取传输信息
|
获取传输信息
|
||||||
@ -359,3 +372,4 @@ class Transmission:
|
|||||||
except Exception as err:
|
except Exception as err:
|
||||||
logger.error(f"修改tracker出错:{str(err)}")
|
logger.error(f"修改tracker出错:{str(err)}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user