lesscode-flask 0.2.102__tar.gz → 0.2.104__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 (75) hide show
  1. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/PKG-INFO +1 -1
  2. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/__init__.py +1 -1
  3. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/decorator/cache.py +2 -1
  4. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/sign/signature.py +4 -5
  5. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask.egg-info/PKG-INFO +1 -1
  6. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/query_runner/dameng.py +5 -0
  7. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/README.md +0 -0
  8. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/app.py +0 -0
  9. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/db/__init__.py +0 -0
  10. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/db/datasource.py +0 -0
  11. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/db/executor.py +0 -0
  12. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/export_data/__init__.py +0 -0
  13. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/export_data/data_download_handler.py +0 -0
  14. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/log/access_log_handler.py +0 -0
  15. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/model/access_log.py +0 -0
  16. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/model/base_model.py +0 -0
  17. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/model/parameterized_query.py +0 -0
  18. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/model/resource_param_template.py +0 -0
  19. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/model/response_result.py +0 -0
  20. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/model/user.py +0 -0
  21. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/model/user_limit_policy.py +0 -0
  22. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/service/access_log_service.py +0 -0
  23. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/service/base_service.py +0 -0
  24. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/service/resource_param_template_service.py +0 -0
  25. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/setting/__init__.py +0 -0
  26. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/setup/__init__.py +0 -0
  27. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/signals.py +0 -0
  28. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/static/swagger.py +0 -0
  29. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/__init__.py +0 -0
  30. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/decorator/__init__.py +0 -0
  31. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/decorator/sql_injection.py +0 -0
  32. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/decorator/swagger.py +0 -0
  33. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/dify_utils.py +0 -0
  34. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/file/file_exporter.py +0 -0
  35. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/file/file_utils.py +0 -0
  36. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/fs_util.py +0 -0
  37. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/helpers.py +0 -0
  38. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
  39. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/__init__.py +0 -0
  40. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/consecutive/consecutive_limiter_handler.py +0 -0
  41. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/consecutive/redis_consecutive_limiter.py +0 -0
  42. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/limit_util.py +0 -0
  43. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/req/rate_limiter_handler.py +0 -0
  44. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/req/redis_rate_limiter.py +0 -0
  45. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/req_count/count_limiter_handler.py +0 -0
  46. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/limit/req_count/redis_count_limiter.py +0 -0
  47. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/oss/__init__.py +0 -0
  48. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/oss/aliyun_oss.py +0 -0
  49. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
  50. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/oss/minio_oss.py +0 -0
  51. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/redis/redis_helper.py +0 -0
  52. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/request/request.py +0 -0
  53. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/sign/__init__.py +0 -0
  54. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
  55. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/swagger/swagger_util.py +0 -0
  56. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/task/__init__.py +0 -0
  57. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/task/task_helper.py +0 -0
  58. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/utils/thread/thread_utils.py +0 -0
  59. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask/wsgi.py +0 -0
  60. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask.egg-info/SOURCES.txt +0 -0
  61. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask.egg-info/dependency_links.txt +0 -0
  62. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask.egg-info/requires.txt +0 -0
  63. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/lesscode_flask.egg-info/top_level.txt +0 -0
  64. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/query_runner/__init__.py +0 -0
  65. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/query_runner/clickhouse.py +0 -0
  66. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/query_runner/elasticsearch.py +0 -0
  67. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/query_runner/kingbase.py +0 -0
  68. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/query_runner/mysql.py +0 -0
  69. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/query_runner/pg.py +0 -0
  70. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/settings/__init__.py +0 -0
  71. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/settings/helpers.py +0 -0
  72. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/utils/__init__.py +0 -0
  73. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/redash/utils/requests_session.py +0 -0
  74. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/setup.cfg +0 -0
  75. {lesscode_flask-0.2.102 → lesscode_flask-0.2.104}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lesscode-flask
3
- Version: 0.2.102
3
+ Version: 0.2.104
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.2.102"
1
+ __version__ = "0.2.104"
2
2
 
3
3
  import functools
4
4
  import logging
@@ -133,7 +133,8 @@ def format_insert_key(signature, func_name, args, params):
133
133
  if k != "self":
134
134
  _args.append(f"{k}={json.dumps(params[k])}")
135
135
  str_insert_key = "&".join([str(x) for x in _args])
136
- headers = {key: value for key, value in request.headers if key in ["App-Key", "Data-Source-Id"]}
136
+ headers = {key: value for key, value in request.headers if
137
+ key in ["App-Key", "Data-Source-Id", "Industry-Owner-Sign"]}
137
138
  for h in headers:
138
139
  str_insert_key = str_insert_key + "&" + str(headers[h])
139
140
  str_insert_key = app_config.get("ROUTE_PREFIX") + "#" + func_name + "#" + str_insert_key
@@ -8,6 +8,7 @@ from flask import request
8
8
 
9
9
  from lesscode_flask.model.response_result import ResponseResult
10
10
  from lesscode_flask.utils.redis.redis_helper import RedisHelper
11
+ from lesscode_flask.utils.sign.body_canonical import canonicalize_body_bytes
11
12
 
12
13
  SIGN_ERROR_MESSAGE = "未知错误"
13
14
  SIGN_ERROR_CODE_MAP = {
@@ -37,12 +38,10 @@ def _fail_sign(error_key: str):
37
38
 
38
39
 
39
40
  def _body_sha256() -> str:
40
- # 对原始请求体做哈希,保证不同 content-type 下签名输入一致。
41
+ # JSON 请求先做规范化再哈希,避免中间链路重排字段顺序后签名失配。
41
42
  body_bytes = request.get_data(cache=True) or b""
42
- logging.info("body_bytes开始")
43
- logging.info("body_bytes: %s", body_bytes)
44
- logging.info("body_bytes结束")
45
- return hashlib.sha256(body_bytes).hexdigest()
43
+ canonical_body_bytes = canonicalize_body_bytes(body_bytes, request.content_type or "")
44
+ return hashlib.sha256(canonical_body_bytes).hexdigest()
46
45
 
47
46
 
48
47
  def _is_upload_request() -> bool:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lesscode-flask
3
- Version: 0.2.102
3
+ Version: 0.2.104
4
4
  Summary: lesscode-flask 是基于flask的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://lesscode-flask
6
6
  Author: Chao.yy
@@ -12,6 +12,11 @@ except ImportError:
12
12
  logging.error("dmPython is not installed, run: pip install dmPython")
13
13
  dmPython = None
14
14
  enabled = False
15
+ try:
16
+ import nspydm as dmPython
17
+ enabled = True
18
+ except ImportError as e:
19
+ logging.error("ns-pydm is not installed, run: pip install ns-pydm")
15
20
 
16
21
  logger = logging.getLogger(__name__)
17
22