lesscode-py 0.4.17__tar.gz → 0.4.19__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.17 → lesscode-py-0.4.19}/PKG-INFO +1 -1
- lesscode-py-0.4.19/lesscode/utils/custom_type.py +34 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/wrapper.py +1 -26
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/version.py +1 -1
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/base_handler.py +41 -59
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/web_server.py +5 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode_py.egg-info/PKG-INFO +1 -1
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode_py.egg-info/SOURCES.txt +1 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/README.md +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/base_connection_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/base_sql_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/clickhouse/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/clickhouse/clickhouse_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/clickhouse/clickhouse_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/condition_wrapper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/connection_info.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/db_function.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/dm/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/dm/dm_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/dm/dm_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/ds_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/elasticsearch/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/es/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/es/es_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/es/es_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/es/es_request.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/generic/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/generic/generic_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/generic/generic_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/init_connection_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/mongodb/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/mongodb/base_model.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/mongodb/mongodb_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/mongodb/mongodb_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/mysql/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/mysql/mysql_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/mysql/mysql_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/nebula/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/nebula/nebula_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/nebula/nebula_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/neo4j/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/neo4j/neo4j_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/neo4j/neo4j_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/page.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/postgresql/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/postgresql/postgresql_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/postgresql/postgresql_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/redis/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/redis/redis_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/redis/redis_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/redis_cluster/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/relational_db_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/sqlalchemy/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/sqlalchemy/sqlalchemy_model_service.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/extend_handlers/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/extend_handlers/doc/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/extend_handlers/not_found_handler.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/mq/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/mq/kafka/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/mq/kafka/kafka_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/mq/rabbitmq/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/sentry/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/sentry/sentry_monitor.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/task/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/task/job_info.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/task/task_helper.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/CacheUtil.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/cache_utils.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/doc/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/doc/interface_doc.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/es_log/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/es_log/record_log.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/json.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/oss/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/oss/aliyun_oss.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/oss/ks3_oss.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/request.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/utils/upms_util.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/__init__.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/base_server_send_event_handler.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/base_websocket_handler.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/business_exception.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/native_handler.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/response_result.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/router_mapping.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode/web/status_code.py +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode_py.egg-info/dependency_links.txt +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/lesscode_py.egg-info/top_level.txt +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/setup.cfg +0 -0
- {lesscode-py-0.4.17 → lesscode-py-0.4.19}/setup.py +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class User:
|
|
2
|
+
"""
|
|
3
|
+
用户对象类
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
def __init__(self):
|
|
7
|
+
# '账号id',
|
|
8
|
+
self.id = None
|
|
9
|
+
# 用户名
|
|
10
|
+
self.username = None
|
|
11
|
+
# '密码',
|
|
12
|
+
self.password = None
|
|
13
|
+
# '显示名',
|
|
14
|
+
self.display_name = None
|
|
15
|
+
# 手机号,
|
|
16
|
+
self.phone_no = None
|
|
17
|
+
# 邮箱
|
|
18
|
+
self.email = None
|
|
19
|
+
# 组织机构id',
|
|
20
|
+
self.org_id = None
|
|
21
|
+
# '1正常(激活);2未激活(管理员新增,首次登录需要改密码); 3锁定(登录错误次数超限,锁定时长可配置); 4休眠(长期未登录(字段,时长可配置),定时) 5禁用-账号失效;
|
|
22
|
+
self.account_status = None
|
|
23
|
+
# 角色id集合
|
|
24
|
+
self.roleIds = None
|
|
25
|
+
|
|
26
|
+
def __str__(self):
|
|
27
|
+
return (f"User(id={self.id},username={self.username},phone_no={self.phone_no},"
|
|
28
|
+
f"display_name={self.display_name},email={self.email},org_id={self.org_id},"
|
|
29
|
+
f"account_status={self.account_status},roleIds={self.roleIds})")
|
|
30
|
+
|
|
31
|
+
def __repr__(self):
|
|
32
|
+
return (f"User(id={self.id},username={self.username},phone_no={self.phone_no},"
|
|
33
|
+
f"display_name={self.display_name},email={self.email},org_id={self.org_id},"
|
|
34
|
+
f"account_status={self.account_status},roleIds={self.roleIds})")
|
|
@@ -3,36 +3,11 @@ import json
|
|
|
3
3
|
|
|
4
4
|
from tornado.options import options
|
|
5
5
|
|
|
6
|
+
from lesscode.utils.custom_type import User
|
|
6
7
|
from lesscode.web.business_exception import BusinessException
|
|
7
8
|
from lesscode.web.status_code import StatusCode
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
class User:
|
|
11
|
-
"""
|
|
12
|
-
用户对象类
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
def __init__(self):
|
|
16
|
-
# '账号id',
|
|
17
|
-
self.id = None
|
|
18
|
-
# 用户名
|
|
19
|
-
self.username = None
|
|
20
|
-
# '密码',
|
|
21
|
-
self.password = None
|
|
22
|
-
# '显示名',
|
|
23
|
-
self.display_name = None
|
|
24
|
-
# 手机号,
|
|
25
|
-
self.phone_no = None
|
|
26
|
-
# 邮箱
|
|
27
|
-
self.email = None
|
|
28
|
-
# 组织机构id',
|
|
29
|
-
self.org_id = None
|
|
30
|
-
# '1正常(激活);2未激活(管理员新增,首次登录需要改密码); 3锁定(登录错误次数超限,锁定时长可配置); 4休眠(长期未登录(字段,时长可配置),定时) 5禁用-账号失效;
|
|
31
|
-
self.account_status = None
|
|
32
|
-
# 角色id集合
|
|
33
|
-
self.roleIds = None
|
|
34
|
-
|
|
35
|
-
|
|
36
11
|
def user_verification(username="admin", **kw):
|
|
37
12
|
def wrapper(func):
|
|
38
13
|
@functools.wraps(func)
|
|
@@ -22,6 +22,7 @@ from tornado.web import RequestHandler, Application
|
|
|
22
22
|
|
|
23
23
|
from lesscode.task.task_helper import TaskHelper
|
|
24
24
|
from lesscode.utils.CacheUtil import async_common_cache, common_cache
|
|
25
|
+
from lesscode.utils.custom_type import User
|
|
25
26
|
from lesscode.utils.es_log.record_log import es_record_log
|
|
26
27
|
from lesscode.utils.json import JSONEncoder
|
|
27
28
|
from lesscode.utils.request import sync_common_request_origin
|
|
@@ -270,20 +271,34 @@ class BaseHandler(RequestHandler):
|
|
|
270
271
|
for k, v in params_dict.items():
|
|
271
272
|
if "self" != k:
|
|
272
273
|
_params[k] = v
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
if options.operate_log_write_method == "api":
|
|
275
|
+
t = Thread(target=sync_common_request_origin, kwargs={
|
|
276
|
+
"url": options.write_operate_log_url,
|
|
277
|
+
"method": "POST",
|
|
278
|
+
"json": {
|
|
279
|
+
"operate_action": title,
|
|
280
|
+
"operate_url": self.request.path,
|
|
281
|
+
"operate_user_id": _user_id,
|
|
282
|
+
"operate_user_username": _username,
|
|
283
|
+
"params": _params,
|
|
284
|
+
"operate_user_phone_no": _phone_no
|
|
285
|
+
}
|
|
286
|
+
})
|
|
287
|
+
t.start()
|
|
288
|
+
logging.info(f"添加操作日志,url:{self.request.path},title={title}")
|
|
289
|
+
elif options.operate_log_write_method == "function":
|
|
290
|
+
t = Thread(target=options.operate_log_write_func, kwargs={
|
|
291
|
+
"operate_id": uuid.uuid1().hex,
|
|
277
292
|
"operate_action": title,
|
|
278
293
|
"operate_url": self.request.path,
|
|
279
294
|
"operate_user_id": _user_id,
|
|
280
295
|
"operate_user_username": _username,
|
|
281
296
|
"params": _params,
|
|
282
297
|
"operate_user_phone_no": _phone_no
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
298
|
+
})
|
|
299
|
+
t.start()
|
|
300
|
+
logging.info(f"添加操作日志,url:{self.request.path},title={title}")
|
|
301
|
+
|
|
287
302
|
except Exception as e:
|
|
288
303
|
logging.error(f"添加操作日志失败,url={self.request.path},错误信息:{e}")
|
|
289
304
|
# 判断是否为异步非阻塞方法,true 则直接调用
|
|
@@ -389,21 +404,24 @@ class BaseHandler(RequestHandler):
|
|
|
389
404
|
获取当前用户信息
|
|
390
405
|
:return:
|
|
391
406
|
"""
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
+
if not options.custom_current_user_switch:
|
|
408
|
+
user_json = self.request.headers.get("User")
|
|
409
|
+
if user_json:
|
|
410
|
+
# TODO 未做加密
|
|
411
|
+
user_info = json.loads(user_json)
|
|
412
|
+
if user_info and isinstance(user_info, dict):
|
|
413
|
+
user = User()
|
|
414
|
+
for key in user_info:
|
|
415
|
+
value = user_info.get(key)
|
|
416
|
+
if value and isinstance(value, str):
|
|
417
|
+
user_info[key] = unquote(value)
|
|
418
|
+
if key == "roleIds" and value and isinstance(value, str):
|
|
419
|
+
user_info[key] = json.loads(value)
|
|
420
|
+
setattr(user, key, user_info[key])
|
|
421
|
+
|
|
422
|
+
return user
|
|
423
|
+
else:
|
|
424
|
+
return options.custom_current_user_func(self)
|
|
407
425
|
return None
|
|
408
426
|
|
|
409
427
|
def redirect(self, url: str, permanent: bool = False, status: int = None) -> None:
|
|
@@ -438,42 +456,6 @@ class BaseHandler(RequestHandler):
|
|
|
438
456
|
data["modify_time"] = datetime.now()
|
|
439
457
|
|
|
440
458
|
|
|
441
|
-
class User:
|
|
442
|
-
"""
|
|
443
|
-
用户对象类
|
|
444
|
-
"""
|
|
445
|
-
|
|
446
|
-
def __init__(self):
|
|
447
|
-
# '账号id',
|
|
448
|
-
self.id = None
|
|
449
|
-
# 用户名
|
|
450
|
-
self.username = None
|
|
451
|
-
# '密码',
|
|
452
|
-
self.password = None
|
|
453
|
-
# '显示名',
|
|
454
|
-
self.display_name = None
|
|
455
|
-
# 手机号,
|
|
456
|
-
self.phone_no = None
|
|
457
|
-
# 邮箱
|
|
458
|
-
self.email = None
|
|
459
|
-
# 组织机构id',
|
|
460
|
-
self.org_id = None
|
|
461
|
-
# '1正常(激活);2未激活(管理员新增,首次登录需要改密码); 3锁定(登录错误次数超限,锁定时长可配置); 4休眠(长期未登录(字段,时长可配置),定时) 5禁用-账号失效;
|
|
462
|
-
self.account_status = None
|
|
463
|
-
# 角色id集合
|
|
464
|
-
self.roleIds = None
|
|
465
|
-
|
|
466
|
-
def __str__(self):
|
|
467
|
-
return (f"User(id={self.id},username={self.username},phone_no={self.phone_no},"
|
|
468
|
-
f"display_name={self.display_name},email={self.email},org_id={self.org_id},"
|
|
469
|
-
f"account_status={self.account_status},roleIds={self.roleIds})")
|
|
470
|
-
|
|
471
|
-
def __repr__(self):
|
|
472
|
-
return (f"User(id={self.id},username={self.username},phone_no={self.phone_no},"
|
|
473
|
-
f"display_name={self.display_name},email={self.email},org_id={self.org_id},"
|
|
474
|
-
f"account_status={self.account_status},roleIds={self.roleIds})")
|
|
475
|
-
|
|
476
|
-
|
|
477
459
|
# 解析param
|
|
478
460
|
def parse_val(val, val_type):
|
|
479
461
|
# inspect.Parameter.empty <class 'NoneType'>
|
|
@@ -6,6 +6,7 @@ import os
|
|
|
6
6
|
import platform
|
|
7
7
|
import sys
|
|
8
8
|
import traceback
|
|
9
|
+
from types import FunctionType
|
|
9
10
|
from typing import Optional
|
|
10
11
|
|
|
11
12
|
import tornado.httpserver
|
|
@@ -40,6 +41,8 @@ define("eureka_config", default={}, type=dict, help="eureka配置")
|
|
|
40
41
|
define("rms_register_enable", default=False, type=bool, help="是否启动资源注册")
|
|
41
42
|
define("rms_register_server", default="http://127.0.0.1:8918", type=str, help="启动资源注册")
|
|
42
43
|
define("operate_log_enable", default=False, type=bool, help="记录操作日志开关,默认关闭")
|
|
44
|
+
define("operate_log_write_method", default="api", type=str, help="记录操作日志方式,默认是api")
|
|
45
|
+
define("operate_log_write_func", default=None, type=FunctionType, help="记录操作的函数")
|
|
43
46
|
define("write_operate_log_url", default="http://127.0.0.1:8918", type=str, help="记录操作日志接口")
|
|
44
47
|
define("running_env", default="local", type=str, help="运行环境")
|
|
45
48
|
define("request_type", default="request", type=str, help="请求类型")
|
|
@@ -67,6 +70,8 @@ define("url_log_enable", default=False, type=bool, help="项目url打印")
|
|
|
67
70
|
define("cronjob_config", default={}, type=dict, help="定时任务配置")
|
|
68
71
|
define("resource_register_enable", default=False, type=bool, help="资源注册开关")
|
|
69
72
|
define("outside_screen_port", default=80, type=int, help="资源注册开关")
|
|
73
|
+
define("custom_current_user_switch", default=False, type=bool, help="自定义用户开关")
|
|
74
|
+
define("custom_current_user_func", default=None, type=FunctionType, help="自定义用户方法函数")
|
|
70
75
|
# 日志初始化配置,配置文件中可修改设置
|
|
71
76
|
options.logging = "DEBUG"
|
|
72
77
|
options.log_rotate_mode = "time"
|
|
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
|
|
File without changes
|
{lesscode-py-0.4.17 → lesscode-py-0.4.19}/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
|