xtn-tools-pro 1.0.1.2.6__py3-none-any.whl → 1.0.1.2.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -161,19 +161,19 @@ class GoFunTaskV3:
161
161
  f"主线程正常...进程数:{len(go_process_list)}...gofun(True不存在|False正常):{self.manager_info['gofun_kill_status']}...qz:{self.manager_info['gofun_kill_status_qz']}")
162
162
  time.sleep(10)
163
163
 
164
- def __get_external_ip(self):
164
+ def __get_external_ip(self, retry_cnt=10):
165
165
  """
166
166
  获取当前网络ip
167
167
  :return:
168
168
  """
169
- for _ in range(10):
169
+ for _ in range(retry_cnt):
170
170
  try:
171
171
  rp = requests.get('https://httpbin.org/ip')
172
172
  rp_json = rp.json()
173
173
  self.logger.warning(f"当前网络ip --> {rp_json}")
174
174
  return rp_json['origin']
175
175
  except Exception as e:
176
- self.logger.critical(f"获取当前网络ip{e}")
176
+ self.logger.critical(f"[重试{_ + 1}/{retry_cnt}]获取当前网络ip报错:{e}")
177
177
  return "0.0.0.0"
178
178
 
179
179
  def __download_task(self, download_queue, manager_info, ini_info, logger):
@@ -174,7 +174,8 @@ def get_2FA(secret, interval=30):
174
174
  :param interval:有效期 单位秒
175
175
  :return:
176
176
  """
177
- totp = pyotp.TOTP(secret, interval=interval)
177
+ base32_secret = base64.b32encode(secret.encode()).decode()
178
+ totp = pyotp.TOTP(base32_secret, interval=interval)
178
179
  return str(totp.now())
179
180
 
180
181
 
@@ -194,4 +195,4 @@ class A8:
194
195
 
195
196
 
196
197
  if __name__ == '__main__':
197
- print(get_2FA('ninqzrh367u3iahpi2mum36bgfvouv5m',3600))
198
+ print(get_2FA('mzhiahagaghsafsdgfrhfaghfkmzh123456',3600))
@@ -93,6 +93,7 @@ class PSetDataObj:
93
93
  line = line_i.strip()
94
94
  seen_list.append(line)
95
95
  seen_list = list(set(seen_list))
96
+ if not seen_list: continue
96
97
  w_txt = "\n".join(seen_list)
97
98
  f_w.write(w_txt + "\n")
98
99
  os.remove(shard_path) # 删除临时文件
@@ -159,6 +160,7 @@ class PSetDataObj:
159
160
  line = line_i.strip()
160
161
  seen_list.append(line)
161
162
  seen_list = list(set(seen_list))
163
+ if not seen_list: continue
162
164
  w_txt = "\n".join(seen_list)
163
165
  f_w.write(w_txt + "\n")
164
166
  os.remove(shard_path) # 删除临时文件
@@ -225,6 +227,7 @@ class PSetDataObj:
225
227
  b_seen_list.append(line)
226
228
 
227
229
  seen_list = list(set(a_seen_list) - set(b_seen_list))
230
+ if not seen_list: continue
228
231
  w_txt = "\n".join(seen_list)
229
232
  result_f_w.write(w_txt + "\n")
230
233
  os.remove(a_shard_path) # 删除临时文件
@@ -349,5 +352,6 @@ class PSetDataObj:
349
352
  :param data_list:
350
353
  :return:
351
354
  """
355
+ if not data_list: return
352
356
  with open(file_w_path, "w", encoding="utf-8") as result_w_f:
353
357
  result_w_f.write("\n".join(data_list))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.1.2.6
3
+ Version: 1.0.1.2.8
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com
@@ -51,21 +51,21 @@ xtn_tools_pro/task_pro/__init__.py,sha256=nK3U47hWwE1H875ieEToH9r-jzXHS-PXk8cDst
51
51
  xtn_tools_pro/task_pro/go_fun.py,sha256=hWEt2uJ9FCvJH7PhVZttS-11A7J6zbRKwX7c5YLYQag,19144
52
52
  xtn_tools_pro/task_pro/go_fun_air_v1.py,sha256=25gHmW5aAV6nMY9Y6-wD7uQ_wqE39dr-eaegqVbYKM8,11035
53
53
  xtn_tools_pro/task_pro/go_fun_v2.py,sha256=SgcXgtEBGSVL1V2LyqO0z8Md2H8JZxucYrLLIwqtiLM,18489
54
- xtn_tools_pro/task_pro/go_fun_v3.py,sha256=_I92M7ubCknrgNfVe9PDw8KbSaqM3DgOPnurGVbRAf4,20807
54
+ xtn_tools_pro/task_pro/go_fun_v3.py,sha256=GI1OVup-izwDflAaoy_pN6xmCXat59II7v-MooOtDms,20862
55
55
  xtn_tools_pro/utils/__init__.py,sha256=I1_n_NP23F2lBqlF4EOlnOdLYxM8M4pbn63UhJN1hRE,418
56
56
  xtn_tools_pro/utils/audio_video.py,sha256=3Im3tGOW6IbmqDcrE1SJUg6eGyLGEyq11Qu6TCutJJw,1115
57
- xtn_tools_pro/utils/crypto.py,sha256=kjbmkH6oj3guegDyzD6aW8rDOpKhApma1VnQN02KfcE,5157
57
+ xtn_tools_pro/utils/crypto.py,sha256=B6NC2yVxtwrbSZnngudTFRm7YRGKKEusydVVYWwxFHs,5231
58
58
  xtn_tools_pro/utils/file_utils.py,sha256=vsUgds8I8Z2pL9a4oCv1q0JrZsDP29qLyLyGVqj5sX8,3311
59
59
  xtn_tools_pro/utils/helpers.py,sha256=0CTMY7wfSQR_DC9-v1lkKQLpWcB1FL9V_kw_5DOcZ40,4454
60
60
  xtn_tools_pro/utils/log.py,sha256=DTUWwi5pvZrwwq94odGnR0JBhfStrc6SxcJREqf2Ls4,11031
61
61
  xtn_tools_pro/utils/retry.py,sha256=0wjHsR5DBBKpv4naMfxiky8kprrZes4WURIfFQ4H708,1657
62
- xtn_tools_pro/utils/set_data.py,sha256=BzCLbEDO83csDHBey8kP7SoE6kx6EjqE7OqRBY7k82s,17608
62
+ xtn_tools_pro/utils/set_data.py,sha256=TFPIHRZq0d5lkctr3b8lWr56hWAgagPsOwC2-VlHm8g,17782
63
63
  xtn_tools_pro/utils/shell.py,sha256=s6sJedxLLQokcI1hF5YSD3qgGUPK0brNcP-D3-yv54I,3790
64
64
  xtn_tools_pro/utils/sql.py,sha256=EAKzbkZP7Q09j15Gm6o0_uq0qgQmcCQT6EAawbpp4v0,6263
65
65
  xtn_tools_pro/utils/time_utils.py,sha256=TUtzG61PeVYXhaQd6pBrXAdlz7tBispNIRQRcGhE2No,4859
66
- xtn_tools_pro-1.0.1.2.6.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
- xtn_tools_pro-1.0.1.2.6.dist-info/METADATA,sha256=-29b6WhWWVpz32c9_NRlpK2q9LWacucoN0-X14Odn94,574
68
- xtn_tools_pro-1.0.1.2.6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
69
- xtn_tools_pro-1.0.1.2.6.dist-info/entry_points.txt,sha256=t8CtXWOgw7nRDW3XNlZh8MT_P4l8EzsFnyWi5b3ovrc,68
70
- xtn_tools_pro-1.0.1.2.6.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
71
- xtn_tools_pro-1.0.1.2.6.dist-info/RECORD,,
66
+ xtn_tools_pro-1.0.1.2.8.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
+ xtn_tools_pro-1.0.1.2.8.dist-info/METADATA,sha256=YpC4G5dUPZDOEW50nbOgITAUkJ4dP_j55ghY22QP8dc,574
68
+ xtn_tools_pro-1.0.1.2.8.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
69
+ xtn_tools_pro-1.0.1.2.8.dist-info/entry_points.txt,sha256=t8CtXWOgw7nRDW3XNlZh8MT_P4l8EzsFnyWi5b3ovrc,68
70
+ xtn_tools_pro-1.0.1.2.8.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
71
+ xtn_tools_pro-1.0.1.2.8.dist-info/RECORD,,