lesscode-py 0.3.72__tar.gz → 0.3.74__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 (91) hide show
  1. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/PKG-INFO +1 -1
  2. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/es/es_request.py +30 -15
  3. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/es_log/record_log.py +7 -5
  4. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/oss/ks3_oss.py +7 -7
  5. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/request.py +105 -156
  6. lesscode-py-0.3.74/lesscode/utils/upms_util.py +58 -0
  7. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/wrapper.py +6 -7
  8. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/version.py +1 -1
  9. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/router_mapping.py +14 -6
  10. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/web_server.py +1 -0
  11. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode_py.egg-info/PKG-INFO +1 -1
  12. lesscode-py-0.3.72/lesscode/utils/upms_util.py +0 -33
  13. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/README.md +0 -0
  14. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/__init__.py +0 -0
  15. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/__init__.py +0 -0
  16. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/base_connection_pool.py +0 -0
  17. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/base_sql_helper.py +0 -0
  18. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/condition_wrapper.py +0 -0
  19. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/connection_info.py +0 -0
  20. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/db_function.py +0 -0
  21. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/ds_helper.py +0 -0
  22. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/elasticsearch/__init__.py +0 -0
  23. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
  24. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
  25. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/es/__init__.py +0 -0
  26. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/es/es_helper.py +0 -0
  27. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/es/es_pool.py +0 -0
  28. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/init_connection_pool.py +0 -0
  29. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mongodb/__init__.py +0 -0
  30. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mongodb/mongodb_helper.py +0 -0
  31. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mongodb/mongodb_pool.py +0 -0
  32. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mysql/__init__.py +0 -0
  33. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mysql/mysql_helper.py +0 -0
  34. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mysql/mysql_pool.py +0 -0
  35. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mysql_sqlalchemy/SqlAlchemy.py +0 -0
  36. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mysql_sqlalchemy/__init__.py +0 -0
  37. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/mysql_sqlalchemy/mysql_sqlalchemy_pool.py +0 -0
  38. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/nebula/__init__.py +0 -0
  39. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/nebula/nebula_helper.py +0 -0
  40. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/nebula/nebula_pool.py +0 -0
  41. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/neo4j/__init__.py +0 -0
  42. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/neo4j/neo4j_helper.py +0 -0
  43. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/neo4j/neo4j_pool.py +0 -0
  44. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/page.py +0 -0
  45. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/postgresql/__init__.py +0 -0
  46. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/postgresql/postgresql_helper.py +0 -0
  47. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/postgresql/postgresql_pool.py +0 -0
  48. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/redis/__init__.py +0 -0
  49. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/redis/redis_helper.py +0 -0
  50. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/redis/redis_pool.py +0 -0
  51. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/redis_cluster/__init__.py +0 -0
  52. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
  53. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
  54. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/relational_db_helper.py +0 -0
  55. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/sqlalchemy/__init__.py +0 -0
  56. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +0 -0
  57. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
  58. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/extend_handlers/__init__.py +0 -0
  59. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/extend_handlers/doc/__init__.py +0 -0
  60. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
  61. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/extend_handlers/not_found_handler.py +0 -0
  62. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/mq/__init__.py +0 -0
  63. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/mq/kafka/__init__.py +0 -0
  64. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/mq/kafka/kafka_helper.py +0 -0
  65. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/mq/rabbitmq/__init__.py +0 -0
  66. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
  67. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/sentry/__init__.py +0 -0
  68. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/sentry/sentry_monitor.py +0 -0
  69. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/task/__init__.py +0 -0
  70. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/task/job_info.py +0 -0
  71. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/task/task_helper.py +0 -0
  72. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/CacheUtil.py +0 -0
  73. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/__init__.py +0 -0
  74. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/doc/__init__.py +0 -0
  75. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/doc/interface_doc_handler.py +0 -0
  76. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/es_log/__init__.py +0 -0
  77. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/json.py +0 -0
  78. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/utils/oss/__init__.py +0 -0
  79. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/__init__.py +0 -0
  80. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/base_handler.py +0 -0
  81. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/base_server_send_event_handler.py +0 -0
  82. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/base_websocket_handler.py +0 -0
  83. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/business_exception.py +0 -0
  84. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/native_handler.py +0 -0
  85. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/response_result.py +0 -0
  86. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode/web/status_code.py +0 -0
  87. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode_py.egg-info/SOURCES.txt +0 -0
  88. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode_py.egg-info/dependency_links.txt +0 -0
  89. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/lesscode_py.egg-info/top_level.txt +0 -0
  90. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/setup.cfg +0 -0
  91. {lesscode-py-0.3.72 → lesscode-py-0.3.74}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-py
3
- Version: 0.3.72
3
+ Version: 0.3.74
4
4
  Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://gitee.com/yongchao9/lesscode-python
6
6
  Author: Chao.yy
@@ -1,14 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
- import json
2
+ import importlib
3
3
  import random
4
4
 
5
- import requests
6
- from requests.auth import HTTPBasicAuth
7
-
8
5
 
9
6
  class EsRequest:
10
7
 
11
8
  def __init__(self, host, port, user, password):
9
+
12
10
  # 主机地址
13
11
  self.host = host
14
12
  # 端口号
@@ -17,7 +15,11 @@ class EsRequest:
17
15
  self.user = user
18
16
  # 密码
19
17
  self.password = password
20
- self.auth = HTTPBasicAuth(user, password)
18
+ try:
19
+ httpx = importlib.import_module("httpx")
20
+ except ImportError as e:
21
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
22
+ self.auth = httpx.BasicAuth(user, password)
21
23
  host_str = host.split(",")
22
24
  self.hosts = [host for host in host_str]
23
25
 
@@ -49,9 +51,13 @@ class EsRequest:
49
51
  :param body:
50
52
  :return:
51
53
  """
52
- r = requests.post(
54
+ try:
55
+ httpx = importlib.import_module("httpx")
56
+ except ImportError as e:
57
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
58
+ r = httpx.post(
53
59
  url,
54
- data=json.dumps(body),
60
+ json=body,
55
61
  headers={'content-type': "application/json"},
56
62
  params=params,
57
63
  auth=self.auth
@@ -67,10 +73,14 @@ class EsRequest:
67
73
  :param body:
68
74
  :return:
69
75
  """
70
- r = requests.put(
76
+ try:
77
+ httpx = importlib.import_module("httpx")
78
+ except ImportError as e:
79
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
80
+ r = httpx.put(
71
81
  url,
72
82
  params=params,
73
- data=json.dumps(body),
83
+ json=body,
74
84
  headers={'content-type': "application/json"},
75
85
  auth=self.auth
76
86
  )
@@ -82,10 +92,13 @@ class EsRequest:
82
92
  发送http请求
83
93
  :param params:
84
94
  :param url:
85
- :param body:
86
95
  :return:
87
96
  """
88
- r = requests.get(
97
+ try:
98
+ httpx = importlib.import_module("httpx")
99
+ except ImportError as e:
100
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
101
+ r = httpx.get(
89
102
  url,
90
103
  params=params,
91
104
  headers={'content-type': "application/json"},
@@ -94,17 +107,19 @@ class EsRequest:
94
107
  res = r.json()
95
108
  return res
96
109
 
97
- def format_es_delete(self, url, body=None, params=None):
110
+ def format_es_delete(self, url, params=None):
98
111
  """
99
112
  发送http请求
100
113
  :param params:
101
114
  :param url:
102
- :param body:
103
115
  :return:
104
116
  """
105
- r = requests.delete(
117
+ try:
118
+ httpx = importlib.import_module("httpx")
119
+ except ImportError as e:
120
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
121
+ r = httpx.delete(
106
122
  url,
107
- data=json.dumps(body) if body else body,
108
123
  params=params,
109
124
  headers={'content-type': "application/json"},
110
125
  auth=self.auth
@@ -3,15 +3,13 @@
3
3
  # @Author : navysummer
4
4
  # @Email : navysummer@yeah.net
5
5
  import datetime
6
+ import importlib
6
7
  import json
7
8
  import logging
8
9
  import traceback
9
10
 
10
- import requests
11
- from requests.auth import HTTPBasicAuth
12
11
  from tornado.options import options
13
12
 
14
- from lesscode.db.ds_helper import DSHelper
15
13
  from lesscode.utils.json import JSONEncoder
16
14
 
17
15
 
@@ -52,14 +50,18 @@ def es_record_log(request, message="", level="info", status_code=200, task_id=No
52
50
 
53
51
 
54
52
  def send_es(protocol, connect_name, es_index, body):
53
+ try:
54
+ httpx = importlib.import_module("httpx")
55
+ except ImportError as e:
56
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
55
57
  try:
56
58
  pool, conn_info = options.database[connect_name]
57
59
  url = f"{protocol}://{conn_info.host}:{conn_info.port}/{es_index}/_doc/"
58
- res = requests.post(
60
+ res = httpx.post(
59
61
  url,
60
62
  data=json.dumps(body, ensure_ascii=False, cls=JSONEncoder).encode('utf-8'),
61
63
  headers={'content-type': "application/json"},
62
- auth=HTTPBasicAuth(conn_info.user, conn_info.password)
64
+ auth=httpx.BasicAuth(conn_info.user, conn_info.password)
63
65
  )
64
66
 
65
67
  if res.ok:
@@ -2,23 +2,23 @@ import importlib
2
2
  import math
3
3
  import os
4
4
 
5
- import tornado.options
5
+ from tornado.options import options
6
6
 
7
7
 
8
8
  class Ks3Oss:
9
9
  def __init__(self, **kwargs):
10
10
  if not kwargs.get("access_key_id"):
11
- kwargs.update({"access_key_id": tornado.options.options.ks3_connect_config.get("access_key_id")})
11
+ kwargs.update({"access_key_id": options.ks3_connect_config.get("access_key_id")})
12
12
  if not kwargs.get("access_key_secret"):
13
- kwargs.update({"access_key_secret": tornado.options.options.ks3_connect_config.get("access_key_secret")})
13
+ kwargs.update({"access_key_secret": options.ks3_connect_config.get("access_key_secret")})
14
14
  if not kwargs.get("host"):
15
- kwargs.update({"host": tornado.options.options.ks3_connect_config.get("host")})
15
+ kwargs.update({"host": options.ks3_connect_config.get("host")})
16
16
  if not kwargs.get("is_secure"):
17
- if tornado.options.options.ks3_connect_config.get("is_secure"):
18
- kwargs.update({"is_secure": tornado.options.options.ks3_connect_config.get("is_secure")})
17
+ if options.ks3_connect_config.get("is_secure"):
18
+ kwargs.update({"is_secure": options.ks3_connect_config.get("is_secure")})
19
19
  bucket_name = kwargs.pop("bucket_name", None)
20
20
  if bucket_name is None:
21
- bucket_name = tornado.options.options.ks3_connect_config.get("bucket_name")
21
+ bucket_name = options.ks3_connect_config.get("bucket_name")
22
22
  try:
23
23
  ks3_connection = importlib.import_module("ks3.connection")
24
24
  except ImportError:
@@ -2,90 +2,31 @@ import importlib
2
2
  import random
3
3
  import uuid
4
4
 
5
- import tornado.options
5
+ from tornado.options import options
6
6
 
7
7
  from lesscode.web.business_exception import BusinessException
8
8
  from lesscode.web.status_code import StatusCode
9
9
 
10
10
 
11
- async def post(path, data=None,
12
- base_url=tornado.options.options.data_server,
13
- result_type="json", pack=False, **kwargs):
14
- try:
15
- aiohttp = importlib.import_module("aiohttp")
16
- except ImportError as e:
17
- raise Exception(f"aiohttp is not exist,run:pip install aiohttp==3.8.3")
18
-
19
- project_name = tornado.options.options.project_name.encode("utf-8")
20
- flag = kwargs.pop("flag", True)
21
- if flag:
22
- if not kwargs.get("headers"):
23
- kwargs.update({"headers": {
24
- "Content-Type": "application/json",
25
- "Project-Name": project_name,
26
- "Request-Id": uuid.uuid1().hex
27
- }})
28
- else:
29
- kwargs["headers"].update({"Project-Name": project_name})
30
- else:
31
- if not kwargs.get("headers"):
32
- kwargs.update({"headers": {
33
- "Project-Name": project_name,
34
- "Request-Id": uuid.uuid1().hex
35
- }})
36
- else:
37
- kwargs["headers"].update({"Project-Name": project_name})
38
- async with aiohttp.ClientSession() as session:
39
- flag = kwargs.pop("flag", True)
40
- if flag:
41
- async with session.post(base_url + path, json=data, **kwargs) as resp:
42
- if result_type == "json":
43
- result = await resp.json()
44
- if not pack:
45
- if result.get("status") == "00000":
46
- result = result.get("data")
47
- else:
48
- message = f'ori_message:{result.get("status", "")}, {result.get("message", "未知错误")}'
49
- raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
50
- elif result_type == "text":
51
- result = await resp.text()
52
- else:
53
- result = await resp.content.read()
54
- return result
55
- else:
56
- async with session.post(base_url + path, data=data, **kwargs) as resp:
57
- if result_type == "json":
58
- result = await resp.json()
59
- if not pack:
60
- if result.get("status") == "00000":
61
- result = result.get("data")
62
- else:
63
- message = f'ori_message:{result.get("status", "")}, {result.get("message", "未知错误")}'
64
- raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
65
- elif result_type == "text":
66
- result = await resp.text()
67
- else:
68
- result = await resp.content.read()
69
- return result
70
-
71
-
72
- async def get(path, params=None, base_url=tornado.options.options.data_server, result_type="json", pack=False,
73
- **kwargs):
11
+ async def common_request(method, path, params=None, data=None, json=None, base_url=options.data_server,
12
+ result_type="json", pack=False, connect_config=None, **kwargs):
74
13
  try:
75
- aiohttp = importlib.import_module("aiohttp")
14
+ httpx = importlib.import_module("httpx")
76
15
  except ImportError as e:
77
- raise Exception(f"aiohttp is not exist,run:pip install aiohttp==3.8.3")
78
- project_name = tornado.options.options.project_name.encode("utf-8")
16
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
17
+ project_name = options.project_name.encode("utf-8")
79
18
  if not kwargs.get("headers"):
80
19
  kwargs.update({"headers": {
81
20
  "Project-Name": project_name,
82
21
  "Request-Id": uuid.uuid1().hex
83
22
  }})
84
23
  else:
85
- kwargs["headers"].update({"Project-Name": project_name})
86
-
87
- async with aiohttp.ClientSession() as session:
88
- async with session.get(base_url + path, params=params, **kwargs) as resp:
24
+ kwargs["headers"].update({"Project-Name": project_name, "Request-Id": uuid.uuid1().hex})
25
+ if not connect_config or not isinstance(connect_config, dict):
26
+ connect_config = dict()
27
+ with httpx.AsyncClient(**connect_config) as session:
28
+ async with session.request(method.upper(), url=base_url + path, params=params, json=json, data=data,
29
+ **kwargs) as resp:
89
30
  if result_type == "json":
90
31
  result = await resp.json()
91
32
  if not pack:
@@ -95,22 +36,51 @@ async def get(path, params=None, base_url=tornado.options.options.data_server, r
95
36
  message = f'ori_message:{result.get("status", "")}, {result.get("message", "未知错误")}'
96
37
  raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
97
38
  elif result_type == "text":
98
- result = await resp.text()
39
+ result = await resp.text
99
40
  else:
100
41
  result = await resp.content.read()
101
42
  return result
102
43
 
103
44
 
45
+ async def post(path, data=None,
46
+ base_url=options.data_server,
47
+ result_type="json", pack=False, **kwargs):
48
+ flag = kwargs.pop("flag", True)
49
+ if flag:
50
+ return await common_request("POST", path=path, json=data, base_url=base_url,
51
+ result_type=result_type, pack=pack, **kwargs)
52
+ else:
53
+ return await common_request("POST", path=path, data=data, base_url=base_url,
54
+ result_type=result_type, pack=pack, **kwargs)
55
+
56
+
57
+ async def get(path, params=None, base_url=options.data_server, result_type="json", pack=False,
58
+ **kwargs):
59
+ return await common_request("GET", path=path, params=params, base_url=base_url,
60
+ result_type=result_type, pack=pack, **kwargs)
61
+
62
+
63
+ async def put(path, params=None, data=None, json=None, base_url=options.data_server, result_type="json", pack=False,
64
+ **kwargs):
65
+ return await common_request("PUT", path=path, params=params, data=data, json=json, base_url=base_url,
66
+ result_type=result_type, pack=pack, **kwargs)
67
+
68
+
69
+ async def delete(path, params=None, data=None, json=None, base_url=options.data_server, result_type="json", pack=False,
70
+ **kwargs):
71
+ return await common_request("DELETE", path=path, params=params, data=data, json=json, base_url=base_url,
72
+ result_type=result_type, pack=pack, **kwargs)
73
+
74
+
104
75
  def sync_common_request(method, path, params=None, data=None, json=None, base_url=None, result_type="json",
105
76
  pack=False, connect_config=None, **kwargs):
106
77
  try:
107
- requests = importlib.import_module("requests")
108
- requests_adapters = importlib.import_module("requests.adapters")
78
+ httpx = importlib.import_module("httpx")
109
79
  except ImportError as e:
110
- raise Exception(f"requests is not exist,run:pip install requests==2.27.1")
111
- project_name = tornado.options.options.project_name.encode("utf-8")
80
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
81
+ project_name = options.project_name.encode("utf-8")
112
82
  if not base_url:
113
- base_url = tornado.options.options.data_server
83
+ base_url = options.data_server
114
84
  if not kwargs.get("headers"):
115
85
  kwargs.update({"headers": {
116
86
  "Project-Name": project_name,
@@ -118,53 +88,31 @@ def sync_common_request(method, path, params=None, data=None, json=None, base_ur
118
88
  }})
119
89
  else:
120
90
  kwargs["headers"].update({"Project-Name": project_name, "Request-Id": uuid.uuid1().hex})
121
- if not connect_config:
122
- connect_config = {
123
- "pool_connections": 10,
124
- "pool_maxsize": 10,
125
- "max_retries": 0,
126
- "pool_block": False
127
- }
128
- s = requests.session()
129
- if connect_config and isinstance(connect_config, dict):
130
- adapter = requests_adapters.HTTPAdapter(**connect_config)
131
- s.mount(prefix="http", adapter=adapter)
132
- s.mount(prefix="https", adapter=adapter)
133
- try:
134
- if method == "GET":
135
- res = s.get(base_url + path, params=params, data=data, json=json, **kwargs)
136
- elif method == "POST":
137
- res = s.post(base_url + path, params=params, data=data, json=json, **kwargs)
138
- elif method == "PUT":
139
- res = s.put(base_url + path, params=params, data=data, json=json, **kwargs)
140
- elif method == "PATCH":
141
- res = s.patch(base_url + path, params=params, data=data, json=json, **kwargs)
142
- elif method == "DELETE":
143
- res = s.delete(base_url + path, params=params, data=data, json=json, **kwargs)
144
- else:
145
- raise Exception(f"method={method} is not allowed")
146
- except Exception as e:
147
- raise e
148
- finally:
149
- s.close()
150
- if result_type == "json":
151
- res = res.json()
152
- if not pack:
153
- if res.get("status") == "00000":
154
- res = res.get("data")
91
+ if not connect_config or not isinstance(connect_config, dict):
92
+ connect_config = dict()
93
+ with httpx.Client(**connect_config) as session:
94
+ try:
95
+ res = session.request(method.upper(), url=base_url + path, params=params, data=data, json=json, **kwargs)
96
+ if result_type == "json":
97
+ res = res.json()
98
+ if not pack:
99
+ if res.get("status") == "00000":
100
+ res = res.get("data")
101
+ else:
102
+ message = f'ori_message:{res.get("status", "")}, {res.get("message", "未知错误")}'
103
+ raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
104
+ elif result_type == "text":
105
+ res = res.text
155
106
  else:
156
- message = f'ori_message:{res.get("status", "")}, {res.get("message", "未知错误")}'
157
- raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
158
- elif result_type == "text":
159
- res = res.text
160
- else:
161
- res = res.content
162
- return res
107
+ res = res.content
108
+ return res
109
+ except Exception as e:
110
+ raise e
163
111
 
164
112
 
165
113
  def sync_get(path, params=None, base_url=None, result_type="json", pack=False, connect_config=None, **kwargs):
166
114
  if connect_config is None:
167
- connect_config = tornado.options.options.connect_config
115
+ connect_config = options.connect_config
168
116
  res = sync_common_request(method="GET", path=path, params=params, base_url=base_url,
169
117
  result_type=result_type, pack=pack, connect_config=connect_config, **kwargs)
170
118
  return res
@@ -175,7 +123,7 @@ def sync_post(path, data=None,
175
123
  result_type="json", pack=False, connect_config=None, **kwargs):
176
124
  flag = kwargs.pop("flag", True)
177
125
  if connect_config is None:
178
- connect_config = tornado.options.options.connect_config
126
+ connect_config = options.connect_config
179
127
  if flag:
180
128
  res = sync_common_request(method="POST", path=path, json=data, base_url=base_url,
181
129
  result_type=result_type, pack=pack, connect_config=connect_config, **kwargs)
@@ -189,7 +137,7 @@ def sync_post(path, data=None,
189
137
  def sync_patch(path, params=None, data=None, json=None, base_url=None,
190
138
  result_type="json", pack=False, connect_config=None, **kwargs):
191
139
  if connect_config is None:
192
- connect_config = tornado.options.options.connect_config
140
+ connect_config = options.connect_config
193
141
  res = sync_common_request(method="PATCH", path=path, params=params, data=data, json=json, base_url=base_url,
194
142
  result_type=result_type, pack=pack, connect_config=connect_config, **kwargs)
195
143
  return res
@@ -198,7 +146,7 @@ def sync_patch(path, params=None, data=None, json=None, base_url=None,
198
146
  def sync_put(path, params=None, data=None, json=None, base_url=None,
199
147
  result_type="json", pack=False, connect_config=None, **kwargs):
200
148
  if connect_config is None:
201
- connect_config = tornado.options.options.connect_config
149
+ connect_config = options.connect_config
202
150
  res = sync_common_request(method="PATCH", path=path, params=params, data=data, json=json, base_url=base_url,
203
151
  result_type=result_type, pack=pack, connect_config=connect_config, **kwargs)
204
152
  return res
@@ -207,7 +155,7 @@ def sync_put(path, params=None, data=None, json=None, base_url=None,
207
155
  def sync_delete(path, params=None, data=None, json=None, base_url=None,
208
156
  result_type="json", pack=False, connect_config=None, **kwargs):
209
157
  if connect_config is None:
210
- connect_config = tornado.options.options.connect_config
158
+ connect_config = options.connect_config
211
159
  res = sync_common_request(method="DELETE", path=path, params=params, data=data, json=json, base_url=base_url,
212
160
  result_type=result_type, pack=pack, connect_config=connect_config, **kwargs)
213
161
  return res
@@ -238,11 +186,11 @@ def eureka_request(path="", return_type="json", method="GET", data=None, app_nam
238
186
 
239
187
 
240
188
  def eureka_get(path="", data=None, return_type="json", app_name="DATA_SERVICE", pack=False, **kwargs):
241
- base_url = tornado.options.options.data_server
189
+ base_url = options.data_server
242
190
  if kwargs.get("base_url") is not None:
243
191
  base_url = kwargs.pop("base_url")
244
192
 
245
- if tornado.options.options.running_env != "local":
193
+ if options.running_env != "local":
246
194
 
247
195
  res = eureka_request(path=path, return_type=return_type, method="GET", data=data, app_name=app_name, pack=pack,
248
196
  **kwargs)
@@ -254,10 +202,10 @@ def eureka_get(path="", data=None, return_type="json", app_name="DATA_SERVICE",
254
202
 
255
203
 
256
204
  def eureka_post(path="", data=None, return_type="json", app_name="DATA_SERVICE", pack=False, **kwargs):
257
- base_url = tornado.options.options.data_server
205
+ base_url = options.data_server
258
206
  if kwargs.get("base_url") is not None:
259
207
  base_url = kwargs.pop("base_url")
260
- if tornado.options.options.running_env != "local":
208
+ if options.running_env != "local":
261
209
  import json
262
210
  res = eureka_request(path=path, return_type=return_type, method="POST", data=json.dumps(data),
263
211
  app_name=app_name,
@@ -270,7 +218,7 @@ def eureka_post(path="", data=None, return_type="json", app_name="DATA_SERVICE",
270
218
 
271
219
 
272
220
  def nacos_service_instance(service_name, namespace, clusters=None, group_name=None):
273
- server_addresses = tornado.options.options.nacos_config.get("server_addresses")
221
+ server_addresses = options.nacos_config.get("server_addresses")
274
222
  try:
275
223
  nacos = importlib.import_module("nacos")
276
224
  except ImportError as e:
@@ -289,10 +237,10 @@ def nacos_service_instance(service_name, namespace, clusters=None, group_name=No
289
237
 
290
238
  def nacos_get(path, params=None, service_name=None, namespace="public", clusters=None, group_name=None,
291
239
  pack=False, return_type="json", **kwargs):
292
- base_url = tornado.options.options.data_server
240
+ base_url = options.data_server
293
241
  if kwargs.get("base_url") is not None:
294
242
  base_url = kwargs.pop("base_url")
295
- if tornado.options.options.running_env != "local":
243
+ if options.running_env != "local":
296
244
  service_instance = nacos_service_instance(service_name=service_name,
297
245
  namespace=namespace, clusters=clusters, group_name=group_name)
298
246
  base_url = f'http://{service_instance.get("ip")}:{service_instance.get("port")}'
@@ -303,10 +251,10 @@ def nacos_get(path, params=None, service_name=None, namespace="public", clusters
303
251
 
304
252
  def nacos_post(path, data=None, service_name=None, namespace="public", clusters=None, group_name=None,
305
253
  pack=False, return_type="json", **kwargs):
306
- base_url = tornado.options.options.data_server
254
+ base_url = options.data_server
307
255
  if kwargs.get("base_url") is not None:
308
256
  base_url = kwargs.pop("base_url")
309
- if tornado.options.options.running_env != "local":
257
+ if options.running_env != "local":
310
258
  service_instance = nacos_service_instance(service_name=service_name,
311
259
  namespace=namespace, clusters=clusters, group_name=group_name)
312
260
  base_url = f'http://{service_instance.get("ip")}:{service_instance.get("port")}'
@@ -316,20 +264,20 @@ def nacos_post(path, data=None, service_name=None, namespace="public", clusters=
316
264
 
317
265
 
318
266
  def common_get(path, params=None, service_name=None, namespace="public", clusters=None, group_name=None,
319
- pack=False, return_type="json", connect_config=None, **kwargs):
320
- base_url = tornado.options.options.data_server
267
+ pack=False, return_type="json", connect_config=None, request_type="request", **kwargs):
268
+ base_url = options.data_server
321
269
  if connect_config is None:
322
- connect_config = tornado.options.options.connect_config
270
+ connect_config = options.connect_config
323
271
  if kwargs.get("base_url") is not None:
324
272
  base_url = kwargs.pop("base_url")
325
- if tornado.options.options.request_type == "request":
273
+ if request_type == "request":
326
274
  res = sync_get(path=path, params=params, base_url=base_url, result_type=return_type, pack=pack,
327
275
  connect_config=connect_config, **kwargs)
328
276
  return res
329
- elif tornado.options.options.request_type == "eureka":
277
+ elif request_type == "eureka":
330
278
  res = eureka_get(path=path, data=params, return_type=return_type, app_name=service_name, pack=pack, **kwargs)
331
279
  return res
332
- elif tornado.options.options.request_type == "nacos":
280
+ elif request_type == "nacos":
333
281
  res = nacos_get(path=path, params=params, service_name=service_name, namespace=namespace, clusters=clusters,
334
282
  group_name=group_name, pack=pack, return_type=return_type, **kwargs)
335
283
  return res
@@ -338,20 +286,20 @@ def common_get(path, params=None, service_name=None, namespace="public", cluster
338
286
 
339
287
 
340
288
  def common_post(path, data=None, service_name=None, namespace="public", clusters=None, group_name=None,
341
- pack=False, return_type="json", connect_config=None, **kwargs):
342
- base_url = tornado.options.options.data_server
289
+ pack=False, return_type="json", connect_config=None, request_type="request", **kwargs):
290
+ base_url = options.data_server
343
291
  if connect_config is None:
344
- connect_config = tornado.options.options.connect_config
292
+ connect_config = options.connect_config
345
293
  if kwargs.get("base_url") is not None:
346
294
  base_url = kwargs.pop("base_url")
347
- if tornado.options.options.request_type == "request":
295
+ if request_type == "request":
348
296
  res = sync_post(path=path, data=data, base_url=base_url, result_type=return_type, pack=pack,
349
297
  connect_config=connect_config, **kwargs)
350
298
  return res
351
- elif tornado.options.options.request_type == "eureka":
299
+ elif request_type == "eureka":
352
300
  res = eureka_post(path=path, data=data, return_type=return_type, app_name=service_name, pack=pack, **kwargs)
353
301
  return res
354
- elif tornado.options.options.request_type == "nacos":
302
+ elif request_type == "nacos":
355
303
  res = nacos_post(path=path, data=data, service_name=service_name, namespace=namespace, clusters=clusters,
356
304
  group_name=group_name,
357
305
  pack=pack, return_type=return_type, **kwargs)
@@ -360,13 +308,14 @@ def common_post(path, data=None, service_name=None, namespace="public", clusters
360
308
  raise BusinessException(StatusCode.UNSUPPORTED_REQUEST_TYPE)
361
309
 
362
310
 
363
- def common_put(path, params=None, data=None, json=None, pack=False, return_type="json", connect_config=None, **kwargs):
364
- base_url = tornado.options.options.data_server
311
+ def common_put(path, params=None, data=None, json=None, pack=False, return_type="json", connect_config=None,
312
+ request_type="request", **kwargs):
313
+ base_url = options.data_server
365
314
  if kwargs.get("base_url") is not None:
366
315
  base_url = kwargs.pop("base_url")
367
316
  if connect_config is None:
368
- connect_config = tornado.options.options.connect_config
369
- if tornado.options.options.request_type == "request":
317
+ connect_config = options.connect_config
318
+ if request_type == "request":
370
319
  res = sync_put(path=path, params=params, data=data, json=json,
371
320
  base_url=base_url, result_type=return_type, pack=pack, connect_config=connect_config, **kwargs)
372
321
  return res
@@ -375,13 +324,13 @@ def common_put(path, params=None, data=None, json=None, pack=False, return_type=
375
324
 
376
325
 
377
326
  def common_patch(path, params=None, data=None, json=None, pack=False, return_type="json", connect_config=None,
378
- **kwargs):
379
- base_url = tornado.options.options.data_server
327
+ request_type="request", **kwargs):
328
+ base_url = options.data_server
380
329
  if kwargs.get("base_url") is not None:
381
330
  base_url = kwargs.pop("base_url")
382
331
  if connect_config is None:
383
- connect_config = tornado.options.options.connect_config
384
- if tornado.options.options.request_type == "request":
332
+ connect_config = options.connect_config
333
+ if request_type == "request":
385
334
  res = sync_patch(path=path, params=params, data=data, json=json,
386
335
  base_url=base_url, result_type=return_type, pack=pack, connect_config=connect_config, **kwargs)
387
336
  return res
@@ -390,13 +339,13 @@ def common_patch(path, params=None, data=None, json=None, pack=False, return_typ
390
339
 
391
340
 
392
341
  def common_delete(path, params=None, data=None, json=None, pack=False, return_type="json", connect_config=None,
393
- **kwargs):
394
- base_url = tornado.options.options.data_server
342
+ request_type="request", **kwargs):
343
+ base_url = options.data_server
395
344
  if connect_config is None:
396
- connect_config = tornado.options.options.connect_config
345
+ connect_config = options.connect_config
397
346
  if kwargs.get("base_url") is not None:
398
347
  base_url = kwargs.pop("base_url")
399
- if tornado.options.options.request_type == "request":
348
+ if request_type == "request":
400
349
  res = sync_delete(path=path, params=params, data=data, json=json,
401
350
  base_url=base_url, result_type=return_type, pack=pack, connect_config=connect_config,
402
351
  **kwargs)
@@ -0,0 +1,58 @@
1
+ # -*- coding: utf-8 -*-
2
+ # @Time : 2022/8/10 11:32
3
+ # @Author : navysummer
4
+ # @Email : navysummer@yeah.net
5
+ import importlib
6
+ import logging
7
+
8
+ from tornado.options import options
9
+
10
+
11
+ def upms_register(item, full_url):
12
+ if options.rms_register_enable:
13
+ try:
14
+ httpx = importlib.import_module("httpx")
15
+ except ImportError as e:
16
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
17
+ client_name = item[3] if item[3] else options.application_name
18
+ title = item[4] if item[4] else full_url
19
+ en_name = item[5] if item[5] else full_url
20
+ access = item[6] if item[6] else 0
21
+ client_res = httpx.get(url=f"{options.rms_register_server}/upms/client/fetchall",
22
+ params={"client_name": client_name}).json()
23
+ if not client_res.get("data"):
24
+ httpx.post(url=f"{options.rms_register_server}/upms/client/insert",
25
+ json={"client_name": client_name})
26
+ client_res = httpx.get(url=f"{options.rms_register_server}/upms/client/fetchall",
27
+ params={"client_name": client_name}).json()
28
+ client_id = client_res.get("data")[0].get("id")
29
+ resource_res = httpx.get(
30
+ url=f"{options.rms_register_server}/upms/resource/fetchall",
31
+ params={"client_name": client_name, "resource_type": 2, "url": full_url}).json()
32
+ if not resource_res.get("data"):
33
+ res = httpx.post(url=f"{options.rms_register_server}/upms/resource/insert",
34
+ json={"client_id": client_id, "resource_type": 2, "url": full_url, "label": title,
35
+ "en_name": en_name, "access": access}).json()
36
+ if res.get("status") == "00000":
37
+ logging.info(f"add url={full_url} to rms success")
38
+ else:
39
+ logging.info(f"add url={full_url} to rms fail")
40
+
41
+
42
+ def resource_register(resource_type: int, url: str, label: str, access: int, parent_id: str, full_url: str = None):
43
+ if options.resource_register_enable:
44
+ try:
45
+ httpx = importlib.import_module("httpx")
46
+ except ImportError as e:
47
+ raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
48
+ if resource_type == 2:
49
+ url = url if url else full_url
50
+ label = label if label else full_url
51
+ access = access if access else 0
52
+ client_id = options.client_id
53
+ resource_res = httpx.post(
54
+ url=f"{options.rms_register_server}/upms/resource/lesscode/insert",
55
+ json={"client_id": client_id, "resource_type": resource_type, "url": url, "label": label, "access": access,
56
+ "parent_id": parent_id}).json()
57
+ logging.info(resource_res)
58
+ return resource_res["data"]
@@ -1,8 +1,7 @@
1
1
  import functools
2
2
  import json
3
- import uuid
4
3
 
5
- import tornado.options
4
+ from tornado.options import options
6
5
 
7
6
  from lesscode.web.business_exception import BusinessException
8
7
  from lesscode.web.status_code import StatusCode
@@ -38,7 +37,7 @@ def user_verification(username="admin", **kw):
38
37
  def wrapper(func):
39
38
  @functools.wraps(func)
40
39
  def run(self, *args, **kwargs):
41
- if tornado.options.options.running_env != "local":
40
+ if options.running_env != "local":
42
41
  user_str = self.request.headers.get("User")
43
42
  if user_str:
44
43
  user = json.loads(user_str)
@@ -59,7 +58,7 @@ def user_verification(username="admin", **kw):
59
58
 
60
59
 
61
60
  def login_verification_func(self, *args, **kwargs):
62
- if tornado.options.options.running_env != "local":
61
+ if options.running_env != "local":
63
62
  user = self.request.headers.get("User")
64
63
  if not user:
65
64
  raise BusinessException(StatusCode.INVALID_TOKEN)
@@ -72,9 +71,9 @@ def login_verification_func(self, *args, **kwargs):
72
71
  def login_verification(func):
73
72
  @functools.wraps(func)
74
73
  def wrapper(self, *args, **kwargs):
75
- if not tornado.options.options.login_verification_func:
76
- tornado.options.options.login_verification_func = login_verification_func
77
- tornado.options.options.login_verification_func(self, *args, **kwargs)
74
+ if not options.login_verification_func:
75
+ options.login_verification_func = login_verification_func
76
+ options.login_verification_func(self, *args, **kwargs)
78
77
 
79
78
  return func(self, *args, **kwargs)
80
79
 
@@ -5,4 +5,4 @@
5
5
  lesscode python version file.
6
6
  """
7
7
 
8
- __version__ = "0.3.72"
8
+ __version__ = "0.3.74"
@@ -3,17 +3,15 @@
3
3
  import logging
4
4
  import threading
5
5
 
6
- import tornado.options
7
- from tornado.options import define
6
+ from tornado.options import define, options
8
7
  from tornado.web import RequestHandler
9
8
 
10
9
  from lesscode.utils.doc.interface_doc_handler import parser_swagger
11
- from lesscode.utils.upms_util import upms_register
10
+ from lesscode.utils.upms_util import upms_register, resource_register
12
11
  from lesscode.web.business_exception import BusinessException
13
12
  from lesscode.web.status_code import StatusCode
14
13
 
15
14
  define("route_prefix", default="", type=str, help="路由前缀")
16
- tornado.options.options.route_prefix = ""
17
15
 
18
16
 
19
17
  class RouterMapping(list):
@@ -47,7 +45,7 @@ def Handler(url: str, desc=""):
47
45
  :param url:
48
46
  :return:
49
47
  """
50
- route_prefix = tornado.options.options.route_prefix
48
+ route_prefix = options.route_prefix
51
49
 
52
50
  def wrapper(cls):
53
51
  # 验证是否为RequestHandler 子类,仅注册其子类
@@ -56,12 +54,20 @@ def Handler(url: str, desc=""):
56
54
  # 通过类名查找对应该类下的所有注册方法信息
57
55
  res = [item for item in RouterMapping.instance().dynamicMethods
58
56
  if item[0] == cls.__name__]
57
+ # 资源注册
58
+ resource_id = resource_register(resource_type=0, url="", label="接口资源", access=0, parent_id="")
59
+ path_group_list = cls.__module__.split(".")
60
+ if path_group_list[0] == "handlers":
61
+ if desc:
62
+ path_group_list[-1] = desc
63
+ for path in path_group_list[1:]:
64
+ resource_id = resource_register(resource_type=0, url="", label=path, access=0, parent_id=resource_id)
59
65
  for item in res:
60
66
  # 处理类 RequestHandler 子类 使用时统一继承BaseHandler
61
67
  handler = item[1]
62
68
  # 全路径 Handler+Mapping 组合
63
69
  full_url = route_prefix + url + item[2]
64
- if tornado.options.options.url_log_enable:
70
+ if options.url_log_enable:
65
71
  logging.info(f"url={full_url}")
66
72
  # 判断是否存在重复注册情况,重复情况直接抛出异常
67
73
  # if [router for router in RouterMapping.instance() if full_url in router]:
@@ -75,6 +81,8 @@ def Handler(url: str, desc=""):
75
81
  RouterMapping.instance().handlerMapping.append((full_url, handler))
76
82
  # RouterMapping.instance().handlerMapping.append((full_url, handler))
77
83
  upms_register(item, full_url)
84
+ resource_register(resource_type=2, url=item[5], label=item[4], access=item[6], parent_id=resource_id,
85
+ full_url=full_url)
78
86
  cls.__route_name__ = url
79
87
  try:
80
88
  parser_swagger(cls, desc)
@@ -60,6 +60,7 @@ define("login_verification_func", default=None, type=object, help="登录验证
60
60
  define("cors", default=None, type=dict, help="跨域策略")
61
61
  define("url_log_enable", default=False, type=bool, help="项目url打印")
62
62
  define("cronjob_config", default={}, type=dict, help="定时任务配置")
63
+ define("resource_register_enable", default=False, type=bool, help="资源注册开关")
63
64
  # 日志初始化配置,配置文件中可修改设置
64
65
  options.logging = "DEBUG"
65
66
  options.log_rotate_mode = "time"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-py
3
- Version: 0.3.72
3
+ Version: 0.3.74
4
4
  Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://gitee.com/yongchao9/lesscode-python
6
6
  Author: Chao.yy
@@ -1,33 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # @Time : 2022/8/10 11:32
3
- # @Author : navysummer
4
- # @Email : navysummer@yeah.net
5
- import tornado.options
6
- from requests import post, get
7
-
8
-
9
- def upms_register(item, full_url):
10
- if tornado.options.options.rms_register_enable:
11
- client_name = item[3] if item[3] else tornado.options.options.application_name
12
- title = item[4] if item[4] else full_url
13
- en_name = item[5] if item[5] else full_url
14
- access = item[6] if item[6] else 0
15
- client_res = get(url=f"{tornado.options.options.rms_register_server}/upms/client/fetchall",
16
- params={"client_name": client_name}).json()
17
- if not client_res.get("data"):
18
- post(url=f"{tornado.options.options.rms_register_server}/upms/client/insert",
19
- json={"client_name": client_name})
20
- client_res = get(url=f"{tornado.options.options.rms_register_server}/upms/client/fetchall",
21
- params={"client_name": client_name}).json()
22
- client_id = client_res.get("data")[0].get("id")
23
- resource_res = get(
24
- url=f"{tornado.options.options.rms_register_server}/upms/resource/fetchall",
25
- params={"client_name": client_name, "resource_type": 2, "url": full_url}).json()
26
- if not resource_res.get("data"):
27
- res = post(url=f"{tornado.options.options.rms_register_server}/upms/resource/insert",
28
- json={"client_id": client_id, "resource_type": 2, "url": full_url, "label": title,
29
- "en_name": en_name, "access": access}).json()
30
- if res.get("status") == "00000":
31
- print(f"add url={full_url} to rms success")
32
- else:
33
- print(f"add url={full_url} to rms fail")
File without changes
File without changes
File without changes