lesscode-py 0.4.11__tar.gz → 0.4.13__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 (100) hide show
  1. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/PKG-INFO +1 -1
  2. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +15 -12
  3. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/request.py +59 -44
  4. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/version.py +1 -1
  5. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/base_handler.py +27 -1
  6. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/web_server.py +2 -0
  7. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/PKG-INFO +1 -1
  8. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/README.md +0 -0
  9. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/__init__.py +0 -0
  10. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/__init__.py +0 -0
  11. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/base_connection_pool.py +0 -0
  12. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/base_sql_helper.py +0 -0
  13. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/clickhouse/__init__.py +0 -0
  14. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/clickhouse/clickhouse_helper.py +0 -0
  15. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/clickhouse/clickhouse_pool.py +0 -0
  16. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/condition_wrapper.py +0 -0
  17. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/connection_info.py +0 -0
  18. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/db_function.py +0 -0
  19. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/dm/__init__.py +0 -0
  20. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/dm/dm_helper.py +0 -0
  21. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/dm/dm_pool.py +0 -0
  22. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/ds_helper.py +0 -0
  23. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/elasticsearch/__init__.py +0 -0
  24. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
  25. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
  26. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/__init__.py +0 -0
  27. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/es_helper.py +0 -0
  28. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/es_pool.py +0 -0
  29. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/es_request.py +0 -0
  30. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/generic/__init__.py +0 -0
  31. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/generic/generic_helper.py +0 -0
  32. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/generic/generic_pool.py +0 -0
  33. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/init_connection_pool.py +0 -0
  34. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/__init__.py +0 -0
  35. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/base_model.py +0 -0
  36. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/mongodb_helper.py +0 -0
  37. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/mongodb_pool.py +0 -0
  38. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mysql/__init__.py +0 -0
  39. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mysql/mysql_helper.py +0 -0
  40. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mysql/mysql_pool.py +0 -0
  41. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/nebula/__init__.py +0 -0
  42. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/nebula/nebula_helper.py +0 -0
  43. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/nebula/nebula_pool.py +0 -0
  44. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/neo4j/__init__.py +0 -0
  45. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/neo4j/neo4j_helper.py +0 -0
  46. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/neo4j/neo4j_pool.py +0 -0
  47. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/page.py +0 -0
  48. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/postgresql/__init__.py +0 -0
  49. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/postgresql/postgresql_helper.py +0 -0
  50. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/postgresql/postgresql_pool.py +0 -0
  51. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis/__init__.py +0 -0
  52. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis/redis_helper.py +0 -0
  53. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis/redis_pool.py +0 -0
  54. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis_cluster/__init__.py +0 -0
  55. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
  56. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
  57. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/relational_db_helper.py +0 -0
  58. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/__init__.py +0 -0
  59. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/sqlalchemy_model_service.py +0 -0
  60. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
  61. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/__init__.py +0 -0
  62. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/doc/__init__.py +0 -0
  63. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
  64. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/not_found_handler.py +0 -0
  65. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/__init__.py +0 -0
  66. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/kafka/__init__.py +0 -0
  67. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/kafka/kafka_helper.py +0 -0
  68. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/rabbitmq/__init__.py +0 -0
  69. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
  70. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/sentry/__init__.py +0 -0
  71. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/sentry/sentry_monitor.py +0 -0
  72. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/task/__init__.py +0 -0
  73. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/task/job_info.py +0 -0
  74. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/task/task_helper.py +0 -0
  75. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/CacheUtil.py +0 -0
  76. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/__init__.py +0 -0
  77. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/cache_utils.py +0 -0
  78. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/doc/__init__.py +0 -0
  79. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/doc/interface_doc.py +0 -0
  80. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/es_log/__init__.py +0 -0
  81. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/es_log/record_log.py +0 -0
  82. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/json.py +0 -0
  83. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/oss/__init__.py +0 -0
  84. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/oss/aliyun_oss.py +0 -0
  85. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/oss/ks3_oss.py +0 -0
  86. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/upms_util.py +0 -0
  87. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/wrapper.py +0 -0
  88. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/__init__.py +0 -0
  89. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/base_server_send_event_handler.py +0 -0
  90. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/base_websocket_handler.py +0 -0
  91. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/business_exception.py +0 -0
  92. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/native_handler.py +0 -0
  93. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/response_result.py +0 -0
  94. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/router_mapping.py +0 -0
  95. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/status_code.py +0 -0
  96. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/SOURCES.txt +0 -0
  97. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/dependency_links.txt +0 -0
  98. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/top_level.txt +0 -0
  99. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/setup.cfg +0 -0
  100. {lesscode-py-0.4.11 → lesscode-py-0.4.13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-py
3
- Version: 0.4.11
3
+ Version: 0.4.13
4
4
  Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://gitee.com/yongchao9/lesscode-python
6
6
  Author: Chao.yy
@@ -84,11 +84,12 @@ def covert_relationship_property(attr, attr_value):
84
84
  for item in attr_value:
85
85
  info = dict()
86
86
  for ar in attrs:
87
- new_attr_value = getattr(item, ar)
88
- if new_attr_value.__class__.__name__ not in ['RelationshipProperty', 'InstrumentedList']:
89
- info[ar] = new_attr_value
90
- else:
91
- info = covert_relationship_property(ar, new_attr_value)
87
+ if hasattr(item, ar):
88
+ new_attr_value = getattr(item, ar)
89
+ if new_attr_value.__class__.__name__ not in ['RelationshipProperty', 'InstrumentedList']:
90
+ info[ar] = new_attr_value
91
+ else:
92
+ info = covert_relationship_property(ar, new_attr_value)
92
93
  if info:
93
94
  new_data.append(info)
94
95
  return new_data
@@ -96,9 +97,10 @@ def covert_relationship_property(attr, attr_value):
96
97
  new_data = dict()
97
98
  for column, value in attr.entity.attrs.items():
98
99
  if value.__class__.__name__ not in ['RelationshipProperty', 'InstrumentedList']:
99
- val = getattr(attr_value, column)
100
- if val.__class__.__name__ not in ['RelationshipProperty', 'InstrumentedList']:
101
- new_data[column] = val
100
+ if hasattr(attr_value, column):
101
+ val = getattr(attr_value, column)
102
+ if val.__class__.__name__ not in ['RelationshipProperty', 'InstrumentedList']:
103
+ new_data[column] = val
102
104
  return new_data
103
105
  else:
104
106
  return attr_value
@@ -112,10 +114,11 @@ def query_set_to_dict(obj):
112
114
  if hasattr(mapper, "attrs"):
113
115
  attrs = mapper.attrs
114
116
  for column, attr in attrs.items():
115
- attr_value = getattr(obj, column)
116
- value = covert_relationship_property(attr, attr_value)
117
- if not value.__class__.__name__ == 'RelationshipProperty':
118
- obj_dict[column] = value
117
+ if hasattr(obj, column):
118
+ attr_value = getattr(obj, column)
119
+ value = covert_relationship_property(attr, attr_value)
120
+ if not value.__class__.__name__ == 'RelationshipProperty':
121
+ obj_dict[column] = value
119
122
 
120
123
  return obj_dict
121
124
  elif hasattr(obj, "keys"):
@@ -16,12 +16,22 @@ def get_basic_auth(username, password):
16
16
  return httpx.BasicAuth(username, password)
17
17
 
18
18
 
19
- async def common_request(method, path, params=None, data=None, json=None, base_url=options.data_server,
20
- result_type="json", pack=False, connect_config=None, **kwargs):
19
+ async def common_request_origin(url, method, params=None, data=None, json=None, connect_config=None,
20
+ **kwargs):
21
+ if not connect_config or not isinstance(connect_config, dict):
22
+ connect_config = {"timeout": None}
21
23
  try:
22
24
  httpx = importlib.import_module("httpx")
23
25
  except ImportError as e:
24
26
  raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
27
+ with httpx.AsyncClient(**connect_config) as session:
28
+ async with session.request(method.upper(), url=url, params=params, json=json, data=data,
29
+ **kwargs) as resp:
30
+ return resp
31
+
32
+
33
+ async def common_request(method, path, params=None, data=None, json=None, base_url=options.data_server,
34
+ result_type="json", pack=False, connect_config=None, **kwargs):
25
35
  project_name = options.project_name.encode("utf-8")
26
36
  if not kwargs.get("headers"):
27
37
  kwargs.update({"headers": {
@@ -30,26 +40,24 @@ async def common_request(method, path, params=None, data=None, json=None, base_u
30
40
  }})
31
41
  else:
32
42
  kwargs["headers"].update({"Project-Name": project_name, "Request-Id": uuid.uuid1().hex})
33
- if not connect_config or not isinstance(connect_config, dict):
34
- connect_config = {"timeout": None}
35
- with httpx.AsyncClient(**connect_config) as session:
36
- async with session.request(method.upper(), url=base_url + path, params=params, json=json, data=data,
37
- **kwargs) as resp:
38
- if result_type == "json":
39
- result = await resp.json()
40
- if not pack:
41
- if result.get("status") == "00000":
42
- result = result.get("data")
43
- else:
44
- message = f'ori_message:{result.get("status", "")}, {result.get("message", "未知错误")}'
45
- raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
46
- elif result_type == "text":
47
- result = await resp.text
48
- elif result_type == "origin":
49
- return resp
43
+
44
+ res = await common_request_origin(url=base_url + path, method=method, params=params, data=data, json=json,
45
+ connect_config=connect_config, **kwargs)
46
+ if result_type == "json":
47
+ res = await res.json()
48
+ if not pack:
49
+ if res.get("status") == "00000":
50
+ res = res.get("data")
50
51
  else:
51
- result = await resp.content
52
- return result
52
+ message = f'ori_message:{res.get("status", "")}, {res.get("message", "未知错误")}'
53
+ raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
54
+ elif result_type == "text":
55
+ res = await res.text
56
+ elif result_type == "origin":
57
+ return res
58
+ else:
59
+ res = await res.content
60
+ return res
53
61
 
54
62
 
55
63
  async def post(path, data=None,
@@ -82,12 +90,24 @@ async def delete(path, params=None, data=None, json=None, base_url=options.data_
82
90
  result_type=result_type, pack=pack, **kwargs)
83
91
 
84
92
 
85
- def sync_common_request(method, path, params=None, data=None, json=None, base_url=None, result_type="json",
86
- pack=False, connect_config=None, **kwargs):
93
+ def sync_common_request_origin(url, method, params=None, data=None, json=None, connect_config=None,
94
+ **kwargs):
95
+ if not connect_config or not isinstance(connect_config, dict):
96
+ connect_config = {"timeout": None}
87
97
  try:
88
98
  httpx = importlib.import_module("httpx")
89
99
  except ImportError as e:
90
100
  raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
101
+ with httpx.Client(**connect_config) as session:
102
+ try:
103
+ res = session.request(method.upper(), url=url, params=params, data=data, json=json, **kwargs)
104
+ return res
105
+ except Exception as e:
106
+ raise e
107
+
108
+
109
+ def sync_common_request(method, path, params=None, data=None, json=None, base_url=None, result_type="json",
110
+ pack=False, connect_config=None, **kwargs):
91
111
  project_name = options.project_name.encode("utf-8")
92
112
  if not base_url:
93
113
  base_url = options.data_server
@@ -98,28 +118,23 @@ def sync_common_request(method, path, params=None, data=None, json=None, base_ur
98
118
  }})
99
119
  else:
100
120
  kwargs["headers"].update({"Project-Name": project_name, "Request-Id": uuid.uuid1().hex})
101
- if not connect_config or not isinstance(connect_config, dict):
102
- connect_config = {"timeout": None}
103
- with httpx.Client(**connect_config) as session:
104
- try:
105
- res = session.request(method.upper(), url=base_url + path, params=params, data=data, json=json, **kwargs)
106
- if result_type == "json":
107
- res = res.json()
108
- if not pack:
109
- if res.get("status") == "00000":
110
- res = res.get("data")
111
- else:
112
- message = f'ori_message:{res.get("status", "")}, {res.get("message", "未知错误")}'
113
- raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
114
- elif result_type == "text":
115
- res = res.text
116
- elif result_type == "origin":
117
- return res
121
+ res = sync_common_request_origin(url=base_url + path, method=method, params=params, data=data, json=json,
122
+ connect_config=connect_config, **kwargs)
123
+ if result_type == "json":
124
+ res = res.json()
125
+ if not pack:
126
+ if res.get("status") == "00000":
127
+ res = res.get("data")
118
128
  else:
119
- res = res.content
120
- return res
121
- except Exception as e:
122
- raise e
129
+ message = f'ori_message:{res.get("status", "")}, {res.get("message", "未知错误")}'
130
+ raise BusinessException(StatusCode.COMMON_CODE_MESSAGE("C0001", message))
131
+ elif result_type == "text":
132
+ res = res.text
133
+ elif result_type == "origin":
134
+ return res
135
+ else:
136
+ res = res.content
137
+ return res
123
138
 
124
139
 
125
140
  def sync_get(path, params=None, base_url=None, result_type="json", pack=False, connect_config=None, **kwargs):
@@ -5,4 +5,4 @@
5
5
  lesscode python version file.
6
6
  """
7
7
 
8
- __version__ = "0.4.11"
8
+ __version__ = "0.4.13"
@@ -23,6 +23,7 @@ from lesscode.task.task_helper import TaskHelper
23
23
  from lesscode.utils.CacheUtil import async_common_cache, common_cache
24
24
  from lesscode.utils.es_log.record_log import es_record_log
25
25
  from lesscode.utils.json import JSONEncoder
26
+ from lesscode.utils.request import sync_common_request_origin
26
27
  from lesscode.web.business_exception import BusinessException
27
28
  from lesscode.web.response_result import ResponseResult
28
29
  from lesscode.web.router_mapping import RouterMapping
@@ -253,7 +254,32 @@ class BaseHandler(RequestHandler):
253
254
  else:
254
255
  # params_list.append(parse_val(argument_value, parameter_type))
255
256
  params_dict.update({parameter_name: parse_val(argument_value, parameter_type)})
256
-
257
+ title = handler_method.__cn_name__ or handler_method.__route_name__
258
+ if options.operate_log_enable:
259
+ _user = self.get_current_user()
260
+ _user_id = None
261
+ _username = None
262
+ _phone_no = None
263
+ if _user:
264
+ _user_id = _user.id
265
+ _username = _user.username
266
+ _phone_no = _user.phone_no
267
+ try:
268
+ _params = dict()
269
+ for k, v in params_dict.items():
270
+ if "self" != k:
271
+ _params[k] = v
272
+ res = sync_common_request_origin(url=options.write_operate_log_url, method="POST", json={
273
+ "operate_action": title,
274
+ "operate_url": self.request.path,
275
+ "operate_user_id": _user_id,
276
+ "operate_user_username": _username,
277
+ "params": _params,
278
+ "operate_user_phone_no": _phone_no
279
+ })
280
+ logging.info(f"添加操作日志成功,url:{self.request.path},title={title}")
281
+ except Exception as e:
282
+ logging.error(f"添加操作日志失败,url={self.request.path},错误信息:{e}")
257
283
  # 判断是否为异步非阻塞方法,true 则直接调用
258
284
  try:
259
285
  if inspect.iscoroutinefunction(handler_method):
@@ -39,6 +39,8 @@ define("max_limit", default=500, type=int, help="单次查询最大数量")
39
39
  define("eureka_config", default={}, type=dict, help="eureka配置")
40
40
  define("rms_register_enable", default=False, type=bool, help="是否启动资源注册")
41
41
  define("rms_register_server", default="http://127.0.0.1:8918", type=str, help="启动资源注册")
42
+ define("operate_log_enable", default=False, type=bool, help="记录操作日志开关,默认关闭")
43
+ define("write_operate_log_url", default="http://127.0.0.1:8918", type=str, help="记录操作日志接口")
42
44
  define("running_env", default="local", type=str, help="运行环境")
43
45
  define("request_type", default="request", type=str, help="请求类型")
44
46
  define("db", default=None, type=object, help="SqlAlchemy")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-py
3
- Version: 0.4.11
3
+ Version: 0.4.13
4
4
  Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://gitee.com/yongchao9/lesscode-python
6
6
  Author: Chao.yy
File without changes
File without changes
File without changes