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.
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/PKG-INFO +1 -1
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +15 -12
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/request.py +59 -44
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/version.py +1 -1
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/base_handler.py +27 -1
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/web_server.py +2 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/PKG-INFO +1 -1
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/README.md +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/base_connection_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/base_sql_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/clickhouse/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/clickhouse/clickhouse_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/clickhouse/clickhouse_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/condition_wrapper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/connection_info.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/db_function.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/dm/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/dm/dm_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/dm/dm_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/ds_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/elasticsearch/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/es_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/es_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/es/es_request.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/generic/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/generic/generic_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/generic/generic_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/init_connection_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/base_model.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/mongodb_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mongodb/mongodb_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mysql/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mysql/mysql_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/mysql/mysql_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/nebula/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/nebula/nebula_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/nebula/nebula_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/neo4j/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/neo4j/neo4j_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/neo4j/neo4j_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/page.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/postgresql/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/postgresql/postgresql_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/postgresql/postgresql_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis/redis_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis/redis_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis_cluster/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/relational_db_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/sqlalchemy_model_service.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/doc/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/extend_handlers/not_found_handler.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/kafka/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/kafka/kafka_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/rabbitmq/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/sentry/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/sentry/sentry_monitor.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/task/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/task/job_info.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/task/task_helper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/CacheUtil.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/cache_utils.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/doc/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/doc/interface_doc.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/es_log/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/es_log/record_log.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/json.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/oss/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/oss/aliyun_oss.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/oss/ks3_oss.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/upms_util.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/utils/wrapper.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/__init__.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/base_server_send_event_handler.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/base_websocket_handler.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/business_exception.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/native_handler.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/response_result.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/router_mapping.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/web/status_code.py +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/SOURCES.txt +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/dependency_links.txt +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode_py.egg-info/top_level.txt +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/setup.cfg +0 -0
- {lesscode-py-0.4.11 → lesscode-py-0.4.13}/setup.py +0 -0
|
@@ -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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
|
20
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
52
|
-
|
|
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
|
|
86
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if
|
|
107
|
-
res = res.
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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):
|
|
@@ -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")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-py-0.4.11 → lesscode-py-0.4.13}/lesscode/db/sqlalchemy/sqlalchemy_model_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|