lesscode-flask 0.0.74__tar.gz → 0.0.76__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 (54) hide show
  1. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/PKG-INFO +1 -1
  2. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/__init__.py +1 -1
  3. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/setup/__init__.py +17 -0
  4. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/decorator/cache.py +22 -5
  5. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask.egg-info/PKG-INFO +1 -1
  6. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/README.md +0 -0
  7. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/app.py +1 -1
  8. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/db/__init__.py +0 -0
  9. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/db/datasource.py +0 -0
  10. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/db/executor.py +0 -0
  11. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/log/access_log_handler.py +0 -0
  12. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/model/access_log.py +0 -0
  13. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/model/auth_client.py +0 -0
  14. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/model/auth_permission.py +0 -0
  15. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/model/base_model.py +0 -0
  16. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/model/parameterized_query.py +0 -0
  17. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/model/response_result.py +0 -0
  18. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/model/user.py +0 -0
  19. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/service/access_log_service.py +0 -0
  20. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/service/auth_client_service.py +0 -0
  21. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/service/auth_permission_service.py +0 -0
  22. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/service/authentication_service.py +0 -0
  23. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/service/base_service.py +0 -0
  24. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/setting/__init__.py +0 -0
  25. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/__init__.py +0 -0
  26. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/decorator/__init__.py +0 -0
  27. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/decorator/swagger.py +0 -0
  28. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/file/file_exporter.py +0 -0
  29. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/helpers.py +0 -0
  30. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
  31. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/oss/__init__.py +0 -0
  32. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
  33. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/redis/redis_helper.py +0 -0
  34. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/request/request.py +0 -0
  35. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
  36. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/swagger/swagger_util.py +0 -0
  37. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/utils/thread/thread_utils.py +0 -0
  38. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask/wsgi.py +0 -0
  39. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask.egg-info/SOURCES.txt +0 -0
  40. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask.egg-info/dependency_links.txt +0 -0
  41. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask.egg-info/requires.txt +0 -0
  42. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/lesscode_flask.egg-info/top_level.txt +0 -0
  43. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/query_runner/__init__.py +0 -0
  44. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/query_runner/clickhouse.py +0 -0
  45. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/query_runner/elasticsearch.py +0 -0
  46. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/query_runner/kingbase.py +0 -0
  47. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/query_runner/mysql.py +0 -0
  48. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/query_runner/pg.py +0 -0
  49. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/settings/__init__.py +0 -0
  50. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/settings/helpers.py +0 -0
  51. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/utils/__init__.py +0 -0
  52. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/redash/utils/requests_session.py +0 -0
  53. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/setup.cfg +0 -0
  54. {lesscode-flask-0.0.74 → lesscode_flask-0.0.76}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-flask
3
- Version: 0.0.74
3
+ Version: 0.0.76
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.74'
1
+ __version__ = '0.0.76'
2
2
 
3
3
  import functools
4
4
  import logging
@@ -295,6 +295,22 @@ def setup_resource_register(app):
295
295
  })
296
296
  return param_list
297
297
 
298
+ def convert_to_kebab_case_and_camel_case(input_string):
299
+ # 去掉开头的斜杠
300
+ if input_string.startswith('/'):
301
+ input_string = input_string[1:]
302
+ # 将斜杠替换为下划线
303
+ modified_string = input_string.replace('/', '-')
304
+ # 分割字符串
305
+ parts = modified_string.split('_')
306
+ # 将第一个部分转换为小写,其余部分首字母大写
307
+ camel_case_parts = [parts[0].lower()] + [part.capitalize() for part in parts[1:]]
308
+ # 将所有部分连接成小驼峰格式
309
+ camel_case_string = ''.join(camel_case_parts)
310
+ # 将下划线替换为斜杠
311
+ kebab_case_string = camel_case_string.replace('_', '-')
312
+ return kebab_case_string
313
+
298
314
  def package_resource(label, symbol, access, type, method="", url="", description="", param_list: list = None):
299
315
  """
300
316
  :param label: 展示中文名称
@@ -306,6 +322,7 @@ def setup_resource_register(app):
306
322
  :param description:接口描述
307
323
  :return:
308
324
  """
325
+ symbol = convert_to_kebab_case_and_camel_case(symbol)
309
326
  resource = {
310
327
  "client_id": current_app.config.get("CLIENT_ID", ""),
311
328
  "label": label,
@@ -5,13 +5,14 @@ import inspect
5
5
  import json
6
6
  import logging
7
7
  import sys
8
+ import threading
8
9
  import traceback
9
10
 
10
- from threading import Thread
11
- from importlib import import_module
11
+ from importlib import import_module
12
12
 
13
13
  # 装饰器
14
14
  # from lesscode_utils.json_utils import JSONEncoder
15
+ from flask import copy_current_request_context
15
16
 
16
17
  from lesscode_flask.utils.helpers import app_config
17
18
  from lesscode_flask.utils.redis.redis_helper import RedisHelper
@@ -74,13 +75,14 @@ def query_cache(cache_key, params=None, ex=3600 * 12, func=None, args=None, conn
74
75
  ttl = RedisHelper(conn_name).get_connection().ttl(cache_key)
75
76
 
76
77
  if ttl and ex >= 900 and 0 < ttl <= ex - 900:
77
- Thread(target=request_interface, kwargs={
78
+ thread_func = wrapper(_func=request_interface, _kwargs={
78
79
  "func": func,
79
80
  "params": params,
80
81
  "args": args,
81
82
  "ex": ex,
82
83
  "cache_key": cache_key
83
- }).start()
84
+ })
85
+ t = threading.Thread(target=thread_func).start()
84
86
  data = RedisHelper(conn_name).sync_get(cache_key)
85
87
  if data:
86
88
  value = json.loads(data)
@@ -97,6 +99,21 @@ def request_interface(func, params, args, ex, cache_key):
97
99
  insert_cache(data, ex, cache_key)
98
100
 
99
101
 
102
+ def wrapper(_func, _kwargs, _args=None, _is_throw_error=True):
103
+ if _args is None:
104
+ _args = []
105
+
106
+ @copy_current_request_context
107
+ def _thread_func():
108
+ try:
109
+ res = _func(*_args, **_kwargs)
110
+ except Exception as e:
111
+ if _is_throw_error:
112
+ raise e
113
+
114
+ return _thread_func
115
+
116
+
100
117
  def format_insert_key(signature, func_name, args, params):
101
118
  _args = []
102
119
  param_keys = list(signature.parameters.keys())
@@ -125,7 +142,7 @@ def insert_cache(data, ex, cache_key, conn_name=None):
125
142
  try:
126
143
  json_utils = import_module("lesscode_utils.json_utils")
127
144
  except ImportError:
128
- raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.61")
145
+ raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.61")
129
146
  RedisHelper(conn_name).sync_set(cache_key, json_utils.JSONEncoder().encode(data), ex=ex)
130
147
  except:
131
148
  logging.error(traceback.format_exc())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-flask
3
- Version: 0.0.74
3
+ Version: 0.0.76
4
4
  Summary: lesscode-flask 是基于flask的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://lesscode-flask
6
6
  Author: Chao.yy
@@ -144,9 +144,9 @@ class Lesscoder(Flask):
144
144
  setup_sql_alchemy(self)
145
145
  setup_redis(self)
146
146
  setup_login_manager(self)
147
- setup_resource_register(self)
148
147
  for blueprint_name, blueprint in blueprint_map.items():
149
148
  self.register_blueprint(blueprint)
149
+ setup_resource_register(self)
150
150
 
151
151
  @staticmethod
152
152
  def handle_exception(e):