xtn-tools-pro 1.0.1.1.7__tar.gz → 1.0.1.1.9__tar.gz

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.
Files changed (67) hide show
  1. {xtn-tools-pro-1.0.1.1.7/xtn_tools_pro.egg-info → xtn-tools-pro-1.0.1.1.9}/PKG-INFO +1 -1
  2. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/setup.py +1 -1
  3. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/shell.py +17 -4
  4. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9/xtn_tools_pro.egg-info}/PKG-INFO +1 -1
  5. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/LICENSE +0 -0
  6. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/MANIFEST.in +0 -0
  7. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/README.md +0 -0
  8. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/setup.cfg +0 -0
  9. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/__init__.py +0 -0
  10. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/db/MongoDB.py +0 -0
  11. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/db/MysqlDB.py +0 -0
  12. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/db/RedisDB.py +0 -0
  13. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/db/__init__.py +0 -0
  14. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/__init__.py +0 -0
  15. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/cli.py +0 -0
  16. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/.gitignore +0 -0
  17. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/Dockerfile +0 -0
  18. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/README.md +0 -0
  19. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/__init__.py +0 -0
  20. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/__init__.py +0 -0
  21. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/api/__init__.py +0 -0
  22. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/api/v1/__init__.py +0 -0
  23. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/api/v1/demo.py +0 -0
  24. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/app.py +0 -0
  25. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/config/__init__.py +0 -0
  26. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/config/secure.py +0 -0
  27. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/config/setting.py +0 -0
  28. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/libs/__init__.py +0 -0
  29. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/libs/base.py +0 -0
  30. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/libs/error.py +0 -0
  31. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/libs/error_code.py +0 -0
  32. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/libs/redprint.py +0 -0
  33. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/libs/token_auth.py +0 -0
  34. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/models/__init__.py +0 -0
  35. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/models/base.py +0 -0
  36. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/models/redis_demo.py +0 -0
  37. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/validators/__init__.py +0 -0
  38. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/validators/base.py +0 -0
  39. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/app/validators/demo.py +0 -0
  40. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/docker-compose.yml +0 -0
  41. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/logs/__init__.py +0 -0
  42. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/obj/__init__.py +0 -0
  43. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/requirements.txt +0 -0
  44. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/server_run.py +0 -0
  45. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/test/__init__.py +0 -0
  46. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/flask_demo/templates/uwsgi.ini +0 -0
  47. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/proxy/XiaoXiangProxy.py +0 -0
  48. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/proxy/__init__.py +0 -0
  49. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/proxy/proxy.py +0 -0
  50. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/task_pro/__init__.py +0 -0
  51. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/task_pro/go_fun_air_v1.py +0 -0
  52. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/task_pro/go_fun_v3.py +0 -0
  53. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/tools.py +0 -0
  54. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/__init__.py +0 -0
  55. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/crypto.py +0 -0
  56. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/file_utils.py +0 -0
  57. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/helpers.py +0 -0
  58. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/log.py +0 -0
  59. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/retry.py +0 -0
  60. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/set_data.py +0 -0
  61. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/sql.py +0 -0
  62. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro/utils/time_utils.py +0 -0
  63. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro.egg-info/SOURCES.txt +0 -0
  64. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro.egg-info/dependency_links.txt +0 -0
  65. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro.egg-info/entry_points.txt +0 -0
  66. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro.egg-info/requires.txt +0 -0
  67. {xtn-tools-pro-1.0.1.1.7 → xtn-tools-pro-1.0.1.1.9}/xtn_tools_pro.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.1.1.7
3
+ Version: 1.0.1.1.9
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com
@@ -15,7 +15,7 @@ with open("README.md", "r") as f:
15
15
 
16
16
  setuptools.setup(
17
17
  name="xtn-tools-pro", # 模块名称
18
- version="1.0.1.1.7", # 版本
18
+ version="1.0.1.1.9", # 版本
19
19
  author="xtn", # 作者
20
20
  author_email="czw011122@gmail.com", # 作者邮箱
21
21
  description="xtn 开发工具", # 模块简介
@@ -36,6 +36,8 @@ class ShellPro:
36
36
  self.server_info_list[_]["conn"] = conn
37
37
  self.__logger.info(f"{tips} 连接成功!!!")
38
38
 
39
+ self.__retry_cnt = 9999999
40
+
39
41
  def run_shell(self, conn, cmd, warn=False, hide=True, tips="", retry_cnt=5):
40
42
  """
41
43
  传入conn和命令执行
@@ -46,15 +48,16 @@ class ShellPro:
46
48
  :param tips: 备注信息
47
49
  :return:
48
50
  """
51
+ retry_cnt = self.__retry_cnt if not retry_cnt else retry_cnt
49
52
  for _ in range(retry_cnt):
50
53
  try:
51
54
  conn.run(cmd, warn=warn, hide=hide)
52
55
  self.__logger.info(f"{tips} {cmd}")
53
56
  return
54
57
  except Exception as e:
55
- self.__logger.critical(f"{tips} {cmd} {e} 正在重试")
58
+ self.__logger.critical(f"失败-正在重试 {tips} {cmd} {e}")
56
59
 
57
- def update_file(self, local_file, remote_file, mkdir=False):
60
+ def update_file(self, local_file, remote_file, mkdir=False, retry_cnt=5, chmod=""):
58
61
  """
59
62
  覆盖远程文件
60
63
  :param local_file: 本地文件
@@ -62,6 +65,7 @@ class ShellPro:
62
65
  :param mkdir: 是否先在远程创建该路径的文件夹
63
66
  :return:
64
67
  """
68
+ retry_cnt = self.__retry_cnt if not retry_cnt else retry_cnt
65
69
  for server_item in self.server_info_list:
66
70
  ip = server_item["ip"]
67
71
  tips = server_item["tips"]
@@ -70,8 +74,17 @@ class ShellPro:
70
74
  remote_dir = os.path.dirname(remote_file)
71
75
  cmd = f"mkdir -p {remote_dir}"
72
76
  self.run_shell(conn, cmd=cmd, warn=True, tips=tips)
73
- conn.put(local_file, remote_file)
74
- self.__logger.info(f"{tips}-{ip} 覆盖远程文件成功!!!")
77
+
78
+ for _ in range(retry_cnt):
79
+ try:
80
+ conn.put(local_file, remote_file)
81
+ if chmod:
82
+ cmd = f"chmod {chmod} {remote_file}"
83
+ self.run_shell(conn, cmd, tips=f"设置文件权限 {chmod}")
84
+ self.__logger.info(f"{tips}-{ip} 覆盖远程文件成功!!!")
85
+ break
86
+ except Exception as e:
87
+ self.__logger.critical(f"覆盖远程文件-失败-正在重试 {tips} {e}")
75
88
 
76
89
 
77
90
  if __name__ == '__main__':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.1.1.7
3
+ Version: 1.0.1.1.9
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com