lesscode-flask 0.0.53__tar.gz → 0.0.54__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 (53) hide show
  1. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/PKG-INFO +1 -1
  2. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/__init__.py +1 -1
  3. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/setting/__init__.py +3 -0
  4. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/setup/__init__.py +3 -9
  5. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/helpers.py +32 -34
  6. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/request/request.py +7 -8
  7. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask.egg-info/PKG-INFO +1 -1
  8. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/README.md +0 -0
  9. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/app.py +0 -0
  10. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/db/__init__.py +0 -0
  11. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/db/datasource.py +0 -0
  12. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/db/executor.py +0 -0
  13. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/log/access_log_handler.py +0 -0
  14. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/model/access_log.py +0 -0
  15. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/model/auth_client.py +0 -0
  16. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/model/auth_permission.py +0 -0
  17. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/model/base_model.py +0 -0
  18. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/model/parameterized_query.py +0 -0
  19. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/model/response_result.py +0 -0
  20. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/model/user.py +0 -0
  21. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/service/access_log_service.py +0 -0
  22. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/service/auth_client_service.py +0 -0
  23. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/service/auth_permission_service.py +0 -0
  24. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/service/authentication_service.py +0 -0
  25. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/service/base_service.py +0 -0
  26. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/__init__.py +0 -0
  27. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/decorator/__init__.py +0 -0
  28. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/decorator/cache.py +0 -0
  29. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/decorator/swagger.py +0 -0
  30. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/file/file_exporter.py +0 -0
  31. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
  32. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/oss/__init__.py +0 -0
  33. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
  34. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/redis/redis_helper.py +0 -0
  35. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
  36. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/utils/swagger/swagger_util.py +0 -0
  37. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask/wsgi.py +0 -0
  38. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask.egg-info/SOURCES.txt +0 -0
  39. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask.egg-info/dependency_links.txt +0 -0
  40. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask.egg-info/requires.txt +0 -0
  41. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/lesscode_flask.egg-info/top_level.txt +0 -0
  42. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/query_runner/__init__.py +0 -0
  43. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/query_runner/clickhouse.py +0 -0
  44. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/query_runner/elasticsearch.py +0 -0
  45. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/query_runner/kingbase.py +0 -0
  46. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/query_runner/mysql.py +0 -0
  47. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/query_runner/pg.py +0 -0
  48. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/settings/__init__.py +0 -0
  49. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/settings/helpers.py +0 -0
  50. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/utils/__init__.py +0 -0
  51. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/redash/utils/requests_session.py +0 -0
  52. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/setup.cfg +0 -0
  53. {lesscode_flask-0.0.53 → lesscode_flask-0.0.54}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-flask
3
- Version: 0.0.53
3
+ Version: 0.0.54
4
4
  Summary: lesscode-flask 是基于flask的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://lesscode-flask
6
6
  Author: Chao.yy
@@ -1,4 +1,4 @@
1
- __version__ = '0.0.53'
1
+ __version__ = '0.0.54'
2
2
 
3
3
  import functools
4
4
  import logging
@@ -111,3 +111,6 @@ class BaseConfig:
111
111
  # 资源注册相关
112
112
  REGISTER_ENABLE = False
113
113
  REGISTER_SERVER = "http://127.0.0.1:8976"
114
+
115
+ # 本地环境
116
+ ENV = "local"
@@ -281,7 +281,6 @@ def setup_resource_register(app):
281
281
 
282
282
  def package_resource(label, symbol, access, type, method="", url="", description="", param_list: list = None):
283
283
  """
284
-
285
284
  :param label: 展示中文名称
286
285
  :param symbol: 标识符号
287
286
  :param access: 访问权限2:需要权限 1:需要登录 0:游客
@@ -331,12 +330,6 @@ def setup_resource_register(app):
331
330
 
332
331
  for child_resource in url_rules_dict[parent_resource]:
333
332
  view_func = app.view_functions[child_resource.endpoint]
334
- if view_func.__doc__:
335
-
336
- description = view_func.__doc__.strip().splitlines()[
337
- 0] if view_func.__doc__.strip().splitlines() else None
338
- else:
339
- description = ""
340
333
 
341
334
  method = list(child_resource.methods - {'HEAD', 'OPTIONS'})[0]
342
335
  inter_desc, param_desc_dict, return_desc = split_doc(child_resource, app)
@@ -356,9 +349,10 @@ def setup_resource_register(app):
356
349
  else:
357
350
  param_list = []
358
351
  resource["children"].append(
359
- package_resource(label="", symbol=child_resource.rule, access=1, type=2, method=method,
352
+ package_resource(label=view_func._title, symbol=child_resource.rule, access=1, type=2,
353
+ method=method,
360
354
  url=child_resource.rule,
361
- description=description, param_list=param_list))
355
+ description=inter_desc, param_list=param_list))
362
356
  resource_list.append(resource)
363
357
  try:
364
358
  httpx = importlib.import_module("httpx")
@@ -29,40 +29,38 @@ def result_to_dict(result):
29
29
  return {k: v for k, v in result.__dict__.items() if not k.startswith('_')}
30
30
  return result
31
31
 
32
- # def serialize_result_to_dict(result):
33
- # """
34
- # 结果对象序列化为字典
35
- # :param result:
36
- # :return:
37
- # """
38
- # if isinstance(result, list):
39
- # return [serialize_result_to_dict(r) for r in result]
40
- # if not hasattr(result, "__dict__"):
41
- # return result
42
- # return {k: v for k, v in result.__dict__.items() if not k.startswith('_')}
43
- #
44
- #
45
- # def alchemy_result_to_dict(result):
46
- # """
47
- # alchemy 指定字段查询后返回的数据解析为字典
48
- # :param result:
49
- # :return:
50
- # """
51
- # data_list = []
52
- # if not result:
53
- # return result
54
- # if isinstance(result, list):
55
- # key_list = list(result[0]._fields)
56
- # for d in result:
57
- # dict_data = dict(zip(key_list, d))
58
- # data_list.append(dict_data)
59
- # return data_list
60
- # else:
61
- # if result:
62
- # key_list = list(result._fields)
63
- # return dict(zip(key_list, result))
64
- # else:
65
- # return {}
32
+
33
+ def build_tree(data, parent: str = "parent_id"):
34
+ """
35
+ 构建树形结构数据。
36
+ 根据给定的数据列表和父节点标识,将平面数据结构转换为树形结构。
37
+
38
+ 参数:
39
+ - data: 平面数据列表,每个元素包含一个节点及其父节点ID。
40
+ - parent: 字段名字符串,默认为"parent_id",用于查找父节点。
41
+
42
+ 返回:
43
+ - tree: 转换后的树形结构数据列表。
44
+ """
45
+ # 创建一个字典来快速查找节点
46
+ node_map = {item['id']: item for item in data}
47
+
48
+ # 初始化根节点列表
49
+ tree_data = []
50
+
51
+ for item in data:
52
+ parent_id = item[parent]
53
+ if parent_id in node_map:
54
+ # 如果存在父节点,则将当前节点添加为父节点的子节点
55
+ parent_node = node_map[parent_id]
56
+ if 'children' not in parent_node:
57
+ parent_node['children'] = []
58
+ parent_node['children'].append(item)
59
+ else:
60
+ # 如果没有父节点,则当前节点为根节点
61
+ tree_data.append(item)
62
+
63
+ return tree_data
66
64
 
67
65
 
68
66
  def generate_uuid():
@@ -10,16 +10,15 @@ def sync_common_request(method, path, params=None, data=None, json=None, base_ur
10
10
  httpx = importlib.import_module("httpx")
11
11
  except ImportError as e:
12
12
  raise Exception(f"httpx is not exist,run:pip install httpx==0.24.1")
13
- project_name = current_app.config.get("PROJECT_NAME", "").encode("utf-8")
14
13
  if not base_url:
15
14
  base_url = current_app.config.get("CAPABILITY_PLATFORM_SERVER", "")
16
- if not kwargs.get("headers"):
17
- kwargs.update({"headers": {
18
- "Project-Name": project_name,
19
- "Request-Id": uuid.uuid1().hex
20
- }})
21
- else:
22
- kwargs["headers"].update({"Project-Name": project_name, "Request-Id": uuid.uuid1().hex})
15
+ headers = kwargs.get("headers", {})
16
+ if not headers.get("Request-Id"):
17
+ headers["Request-Id"] = uuid.uuid1().hex
18
+ if not headers.get("Project-Name"):
19
+ project_name = current_app.config.get("PROJECT_NAME", "").encode("utf-8")
20
+ headers["Project-Name"] = project_name
21
+ kwargs["headers"] = headers
23
22
  if not connect_config or not isinstance(connect_config, dict):
24
23
  connect_config = {"timeout": None}
25
24
  with httpx.Client(**connect_config) as session:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-flask
3
- Version: 0.0.53
3
+ Version: 0.0.54
4
4
  Summary: lesscode-flask 是基于flask的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://lesscode-flask
6
6
  Author: Chao.yy