Skip to content

Commit 839cc5e

Browse files
committed
fix: 合并冲突
2 parents 19f794e + 278a6fa commit 839cc5e

35 files changed

+622
-289
lines changed

app/brushtask.py

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -847,54 +847,70 @@ def __check_remove_rule(remove_rule,
847847

848848
@staticmethod
849849
def __get_torrent_dict(downloader_type, torrent):
850-
# 当前时间
851-
date_now = int(time.mktime(datetime.now().timetuple()))
850+
851+
# 当前时间戳
852+
date_now = int(time.time())
852853

853854
if downloader_type == "qbittorrent":
854855
# ID
855856
torrent_id = torrent.get("hash")
856-
# 已开始时间 秒
857-
dltime = int(time.time() - torrent.get("added_on"))
858-
# 已做种时间 秒
859-
date_done = torrent.completion_on if torrent.completion_on > 0 else torrent.added_on
860-
seeding_time = date_now - date_done if date_done else 0
857+
# 下载时间
858+
dltime = date_now - torrent.get("added_on") if torrent.get("added_on") else 0
859+
# 做种时间
860+
seeding_time = date_now - torrent.get("completion_on") if torrent.get("completion_on") else 0
861861
# 分享率
862862
ratio = torrent.get("ratio") or 0
863863
# 上传量
864864
uploaded = torrent.get("uploaded") or 0
865865
# 平均上传速度 Byte/s
866-
avg_upspeed = int(uploaded / dltime)
866+
if dltime:
867+
avg_upspeed = int(uploaded / dltime)
868+
else:
869+
avg_upspeed = uploaded
867870
# 已未活动 秒
868-
last_activity = int(torrent.get("last_activity", 0))
869-
iatime = date_now - last_activity if last_activity else 0
871+
iatime = date_now - torrent.get("last_activity") if torrent.get("last_activity") else 0
870872
# 下载量
871873
downloaded = torrent.get("downloaded")
872874
# 种子大小
873875
total_size = torrent.get("total_size")
874876
# 添加时间
875-
add_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(torrent.get("added_on")))
877+
add_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(torrent.get("added_on") or 0))
878+
876879
else:
880+
877881
# ID
878882
torrent_id = torrent.hashString
879883
# 做种时间
880-
date_done = torrent.date_done or torrent.date_added
884+
if not torrent.date_done or torrent.date_done.timestamp() < 1:
885+
seeding_time = 0
886+
else:
887+
seeding_time = date_now - int(torrent.date_done.timestamp())
881888
# 下载耗时
882-
dltime = date_now - int(time.mktime(torrent.date_added.timetuple()))
883-
seeding_time = date_now - int(time.mktime(date_done.timetuple()))
889+
if not torrent.date_added or torrent.date_added.timestamp() < 1:
890+
dltime = 0
891+
else:
892+
dltime = date_now - int(torrent.date_added.timestamp())
884893
# 下载量
885894
downloaded = int(torrent.total_size * torrent.progress / 100)
886895
# 分享率
887896
ratio = torrent.ratio or 0
888897
# 上传量
889898
uploaded = int(downloaded * torrent.ratio)
890899
# 平均上传速度
891-
avg_upspeed = int(uploaded / dltime)
900+
if dltime:
901+
avg_upspeed = int(uploaded / dltime)
902+
else:
903+
avg_upspeed = uploaded
892904
# 未活动时间
893-
iatime = date_now - int(time.mktime(torrent.date_active.timetuple()))
905+
if not torrent.date_active or torrent.date_active.timestamp() < 1:
906+
iatime = 0
907+
else:
908+
iatime = date_now - int(torrent.date_active.timestamp())
894909
# 种子大小
895910
total_size = torrent.total_size
896911
# 添加时间
897-
add_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(torrent.date_added))
912+
add_time = time.strftime('%Y-%m-%d %H:%M:%S',
913+
time.localtime(torrent.date_added.timestamp() if torrent.date_added else 0))
898914

899915
return {
900916
"id": torrent_id,

app/downloader/client/transmission.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Transmission(_IDownloadClient):
1919
# 下载器名称
2020
client_name = DownloaderType.TR.value
2121

22-
# 参考transmission web,仅查询需要的参数,加速种子检索
22+
# 参考transmission web,仅查询需要的参数,加速种子搜索
2323
_trarg = ["id", "name", "status", "labels", "hashString", "totalSize", "percentDone", "addedDate", "trackerStats",
2424
"leftUntilDone", "rateDownload", "rateUpload", "recheckProgress", "rateDownload", "rateUpload",
2525
"peersGettingFromUs", "peersSendingToUs", "uploadRatio", "uploadedEver", "downloadedEver", "downloadDir",

app/downloader/downloader.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,7 @@ def check_exists_medias(self, meta_info, no_exists=None, total_ep=None):
935935
"""
936936
检查媒体库,查询是否存在,对于剧集同时返回不存在的季集信息
937937
:param meta_info: 已识别的媒体信息,包括标题、年份、季、集信息
938-
:param no_exists: 在调用该方法前已经存储的不存在的季集信息,有传入时该函数检索的内容将会叠加后输出
938+
:param no_exists: 在调用该方法前已经存储的不存在的季集信息,有传入时该函数搜索的内容将会叠加后输出
939939
:param total_ep: 各季的总集数
940940
:return: 当前媒体是否缺失,各标题总的季集和缺失的季集,需要发送的消息
941941
"""
@@ -958,7 +958,7 @@ def check_exists_medias(self, meta_info, no_exists=None, total_ep=None):
958958
if meta_info.type != MediaType.MOVIE:
959959
# 是否存在的标志
960960
return_flag = False
961-
# 检索电视剧的信息
961+
# 搜索电视剧的信息
962962
tv_info = self.media.get_tmdb_info(mtype=MediaType.TV, tmdbid=meta_info.tmdb_id)
963963
if tv_info:
964964
# 传入检查季

app/filetransfer.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ def transfer_media(self,
434434
识别并转移一个文件、多个文件或者目录
435435
:param in_from: 来源,即调用该功能的渠道
436436
:param in_path: 转移的路径,可能是一个文件也可以是一个目录
437-
:param files: 文件清单,非空时以该文件清单为准,为空时从in_path中按后缀和大小限制检索需要处理的文件清单
437+
:param files: 文件清单,非空时以该文件清单为准,为空时从in_path中按后缀和大小限制搜索需要处理的文件清单
438438
:param target_dir: 目的文件夹,非空的转移到该文件夹,为空时则按类型转移到配置文件中的媒体库文件夹
439439
:param unknown_dir: 未识别文件夹,非空时未识别的媒体文件转移到该文件夹,为空时则使用配置文件中的未识别文件夹
440440
:param rmt_mode: 文件转移方式
@@ -559,11 +559,11 @@ def __finish_transfer(status, message):
559559
log.info("【Rmt】所有文件均已成功转移过,没有需要处理的文件!如需重新处理,请清理缓存(服务->清理转移缓存)")
560560
return __finish_transfer(True, "没有新文件需要处理")
561561

562-
# API检索出媒体信息,传入一个文件列表,得出每一个文件的名称,这里是当前目录下所有的文件了
562+
# API搜索出媒体信息,传入一个文件列表,得出每一个文件的名称,这里是当前目录下所有的文件了
563563
Medias = self.media.get_media_info_on_files(file_list, tmdb_info, media_type, season, episode[0])
564564
if not Medias:
565-
log.error("【Rmt】检索媒体信息出错!")
566-
return __finish_transfer(False, "检索媒体信息出错")
565+
log.error("【Rmt】搜索媒体信息出错!")
566+
return __finish_transfer(False, "搜索媒体信息出错")
567567

568568
# 更新进度
569569
self.progress.update(ptype=ProgressKey.FileTransfer, text=f"共 {len(Medias)} 个文件需要处理...")

app/helper/db_helper.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@ def insert_search_results(self, media_items: list, title=None, ident_flag=True):
6767

6868
def get_search_result_by_id(self, dl_id):
6969
"""
70-
根据ID从数据库中查询检索结果的一条记录
70+
根据ID从数据库中查询搜索结果的一条记录
7171
"""
7272
return self._db.query(SEARCHRESULTINFO).filter(SEARCHRESULTINFO.ID == dl_id).all()
7373

7474
def get_search_results(self, ):
7575
"""
76-
查询检索结果的所有记录
76+
查询搜索结果的所有记录
7777
"""
7878
return self._db.query(SEARCHRESULTINFO).all()
7979

@@ -193,7 +193,7 @@ def update_douban_media_state(self, media, state):
193193

194194
def get_douban_search_state(self, title, year=None):
195195
"""
196-
查询未检索的豆瓣数据
196+
查询未搜索的豆瓣数据
197197
"""
198198
if not year:
199199
return self._db.query(DOUBANMEDIAS.STATE).filter(DOUBANMEDIAS.NAME == title).first()

app/helper/meta_helper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def get_meta_data_by_key(self, key):
7171
def dump_meta_data(self, search, page, num):
7272
"""
7373
分页获取当前缓存列表
74-
@param search: 检索的缓存key
74+
@param search: 搜索的缓存key
7575
@param page: 页码
7676
@param num: 单页大小
7777
@return: 总数, 缓存列表
@@ -113,7 +113,7 @@ def delete_meta_data_by_tmdbid(self, tmdbid):
113113

114114
def delete_unknown_meta(self):
115115
"""
116-
清除未识别的缓存记录,以便重新检索TMDB
116+
清除未识别的缓存记录,以便重新搜索TMDB
117117
"""
118118
for key in list(self._meta_data):
119119
if str(self._meta_data.get(key, {}).get("id")) == '0':

app/helper/ocr_helper.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,30 @@
55

66

77
class OcrHelper:
8-
req = None
9-
_ocr_b64_url = "%s/captcha/base64" % DEFAULT_OCR_SERVER
108

11-
def __init__(self):
12-
self.req = RequestUtils(content_type="application/json")
9+
_ocr_b64_url = "%s/captcha/base64" % DEFAULT_OCR_SERVER
1310

14-
def get_captcha_text(self, image_url=None, image_b64=None):
11+
def get_captcha_text(self, image_url=None, image_b64=None, cookie=None, ua=None):
1512
"""
1613
根据图片地址,获取验证码图片,并识别内容
14+
:param image_url: 图片地址
15+
:param image_b64: 图片base64,跳过图片地址下载
16+
:param cookie: 下载图片使用的cookie
17+
:param ua: 下载图片使用的ua
1718
"""
18-
if not image_url and not image_b64:
19-
return ""
2019
if image_url:
21-
ret = self.req.get_res(image_url)
20+
ret = RequestUtils(headers=ua,
21+
cookies=cookie).get_res(image_url)
2222
if ret is not None:
2323
image_bin = ret.content
2424
if not image_bin:
2525
return ""
2626
image_b64 = base64.b64encode(image_bin).decode()
27-
ret = self.req.post_res(url=self._ocr_b64_url,
28-
json={"base64_img": image_b64})
27+
if not image_b64:
28+
return ""
29+
ret = RequestUtils(content_type="application/json").post_res(
30+
url=self._ocr_b64_url,
31+
json={"base64_img": image_b64})
2932
if ret:
3033
return ret.json().get("result")
3134
return ""

app/indexer/client/_base.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def search(self, order_seq,
7373
match_media,
7474
in_from: SearchType):
7575
"""
76-
根据关键字多线程检索
76+
根据关键字多线程搜索
7777
"""
7878
if not indexer or not key_word:
7979
return None
@@ -84,7 +84,7 @@ def search(self, order_seq,
8484
return []
8585
# 计算耗时
8686
start_time = datetime.datetime.now()
87-
log.info(f"【{self.index_type}开始检索Indexer{indexer.name} ...")
87+
log.info(f"【{self.index_type}开始搜索Indexer{indexer.name} ...")
8888
# 特殊符号处理
8989
search_word = StringUtils.handler_special_chars(text=key_word,
9090
replace_word=" ",
@@ -95,8 +95,8 @@ def search(self, order_seq,
9595
# 索引花费时间
9696
seconds = (datetime.datetime.now() - start_time).seconds
9797
if len(result_array) == 0:
98-
log.warn(f"【{self.index_type}{indexer.name} 未检索到数据")
99-
self.progress.update(ptype=ProgressKey.Search, text=f"{indexer.name} 未检索到数据")
98+
log.warn(f"【{self.index_type}{indexer.name} 未搜索到数据")
99+
self.progress.update(ptype=ProgressKey.Search, text=f"{indexer.name} 未搜索到数据")
100100

101101
self.dbhelper.insert_indexer_statistics(indexer=indexer.name,
102102
itype=self.client_id,
@@ -231,7 +231,7 @@ def filter_search_results(self, result_array: list,
231231
match_media,
232232
start_time):
233233
"""
234-
从检索结果中匹配符合资源条件的记录
234+
从搜索结果中匹配符合资源条件的记录
235235
"""
236236
ret_array = []
237237
index_sucess = 0

app/indexer/client/_spider.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class TorrentSpider(feapder.AirSpider):
4545
custom_argument=["--ignore-certificate-errors"],
4646
)
4747
)
48-
# 是否检索完成标志
48+
# 是否搜索完成标志
4949
is_complete = False
5050
# 是否出现错误
5151
is_error = False
@@ -65,13 +65,13 @@ class TorrentSpider(feapder.AirSpider):
6565
render = False
6666
# Referer
6767
referer = None
68-
# 检索关键字
68+
# 搜索关键字
6969
keyword = None
7070
# 媒体类型
7171
mtype = None
72-
# 检索路径、方式配置
72+
# 搜索路径、方式配置
7373
search = {}
74-
# 批量检索配置
74+
# 批量搜索配置
7575
batch = {}
7676
# 浏览配置
7777
browse = {}
@@ -83,7 +83,7 @@ class TorrentSpider(feapder.AirSpider):
8383
fields = {}
8484
# 页码
8585
page = 0
86-
# 检索条数
86+
# 搜索条数
8787
result_num = 100
8888
# 单个种子信息
8989
torrents_info = {}
@@ -98,7 +98,7 @@ def setparam(self, indexer,
9898
"""
9999
设置查询参数
100100
:param indexer: 索引器
101-
:param keyword: 检索关键字,如果数组则为批量检索
101+
:param keyword: 搜索关键字,如果数组则为批量搜索
102102
:param page: 页码
103103
:param referer: Referer
104104
:param mtype: 媒体类型
@@ -181,7 +181,7 @@ def start_requests(self):
181181
# 查询模式与
182182
search_mode = "0"
183183

184-
# 检索URL
184+
# 搜索URL
185185
if self.search.get("params"):
186186
# 变量字典
187187
inputs_dict = {
@@ -243,7 +243,7 @@ def start_requests(self):
243243
})
244244
elif self.page:
245245
torrentspath = torrentspath + f"?page={self.page}"
246-
# 检索Url
246+
# 搜索Url
247247
searchurl = self.domain + str(torrentspath).format(**inputs_dict)
248248

249249
log.info(f"【Spider】开始请求:{searchurl}")
@@ -623,7 +623,7 @@ def Getinfo(self, torrent):
623623
self.Getlabels(torrent)
624624
except Exception as err:
625625
ExceptionUtils.exception_traceback(err)
626-
log.error("【Spider】%s 检索出现错误:%s" % (self.indexername, str(err)))
626+
log.error("【Spider】%s 搜索出现错误:%s" % (self.indexername, str(err)))
627627
return self.torrents_info
628628

629629
@staticmethod

app/indexer/client/builtin.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def search(self, order_seq,
9797
match_media,
9898
in_from: SearchType):
9999
"""
100-
根据关键字多线程检索
100+
根据关键字多线程搜索
101101
"""
102102
if not indexer or not key_word:
103103
return None
@@ -123,7 +123,7 @@ def search(self, order_seq,
123123
# 计算耗时
124124
start_time = datetime.datetime.now()
125125

126-
log.info(f"【{self.client_name}开始检索Indexer{indexer.name} ...")
126+
log.info(f"【{self.client_name}开始搜索Indexer{indexer.name} ...")
127127
# 特殊符号处理
128128
search_word = StringUtils.handler_special_chars(text=key_word,
129129
replace_word=" ",
@@ -160,9 +160,9 @@ def search(self, order_seq,
160160
result='N' if error_flag else 'Y')
161161
# 返回结果
162162
if len(result_array) == 0:
163-
log.warn(f"【{self.client_name}{indexer.name} 未检索到数据")
163+
log.warn(f"【{self.client_name}{indexer.name} 未搜索到数据")
164164
# 更新进度
165-
self.progress.update(ptype=ProgressKey.Search, text=f"{indexer.name} 未检索到数据")
165+
self.progress.update(ptype=ProgressKey.Search, text=f"{indexer.name} 未搜索到数据")
166166
return []
167167
else:
168168
log.warn(f"【{self.client_name}{indexer.name} 返回数据:{len(result_array)}")
@@ -178,7 +178,7 @@ def search(self, order_seq,
178178

179179
def list(self, index_id, page=0, keyword=None):
180180
"""
181-
根据站点ID检索站点首页资源
181+
根据站点ID搜索站点首页资源
182182
"""
183183
if not index_id:
184184
return []

0 commit comments

Comments
 (0)