fastgenerateapi 1.2.3__tar.gz → 1.2.4__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 (115) hide show
  1. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/PKG-INFO +1 -1
  2. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/__version__.py +1 -1
  3. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/all_settings.py +40 -41
  4. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/app_settings.py +1 -1
  5. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/PKG-INFO +1 -1
  6. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/LICENSE +0 -0
  7. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/README.md +0 -0
  8. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/__init__.py +0 -0
  9. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/__init__.py +0 -0
  10. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/api_view.py +0 -0
  11. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/base_view.py +0 -0
  12. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/create_view.py +0 -0
  13. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
  14. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
  15. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_view.py +0 -0
  16. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_all_view.py +0 -0
  17. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_one_view.py +0 -0
  18. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_relation_view.py +0 -0
  19. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_tree_view.py +0 -0
  20. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
  21. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
  22. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +0 -0
  23. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
  24. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
  25. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
  26. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
  27. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/__init__.py +0 -0
  28. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/docx_util.py +0 -0
  29. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/file_util.py +0 -0
  30. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/pdf_util.py +0 -0
  31. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py +0 -0
  32. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/zip_util.py +0 -0
  33. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/sql_get_view.py +0 -0
  34. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/switch_view.py +0 -0
  35. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/update_relation_view.py +0 -0
  36. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/update_view.py +0 -0
  37. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/cache/__init__.py +0 -0
  38. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/cache/cache_decorator.py +0 -0
  39. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/cache/key_builder.py +0 -0
  40. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/__init__.py +0 -0
  41. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/connection_manager.py +0 -0
  42. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/consumer.py +0 -0
  43. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/websocket_view.py +0 -0
  44. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/__init__.py +0 -0
  45. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/filter_controller.py +0 -0
  46. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/router_controller.py +0 -0
  47. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/rpc_controller.py +0 -0
  48. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/search_controller.py +0 -0
  49. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/ws_controller.py +0 -0
  50. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/data_type/__init__.py +0 -0
  51. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/data_type/data_type.py +0 -0
  52. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
  53. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/__init__.py +0 -0
  54. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/filter_params_deps.py +0 -0
  55. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/paginator_deps.py +0 -0
  56. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/tree_params_deps.py +0 -0
  57. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/example/__init__.py +0 -0
  58. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/example/models.py +0 -0
  59. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/example/routers.py +0 -0
  60. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/example/schemas.py +0 -0
  61. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/example/views.py +0 -0
  62. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/__init__.py +0 -0
  63. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/all.py +0 -0
  64. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/param_utils.py +0 -0
  65. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/response_utils.py +0 -0
  66. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/model/__init__.py +0 -0
  67. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/model/base_model.py +0 -0
  68. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/__init__.py +0 -0
  69. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/aes_field.py +0 -0
  70. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/enum_field.py +0 -0
  71. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/pk_field.py +0 -0
  72. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/pwd_field.py +0 -0
  73. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
  74. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/validator.py +0 -0
  75. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
  76. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
  77. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/base_settings.py +0 -0
  78. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
  79. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/__init__.py +0 -0
  80. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/common_function.py +0 -0
  81. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
  82. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
  83. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
  84. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
  85. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
  86. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
  87. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
  88. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
  89. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
  90. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/update_schema_factory.py +0 -0
  91. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/__init__.py +0 -0
  92. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/db_settings.py +0 -0
  93. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/etcd_settings.py +0 -0
  94. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/file_settings.py +0 -0
  95. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/jwt_settings.py +0 -0
  96. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/otlp_settings.py +0 -0
  97. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/redis_settings.py +0 -0
  98. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/sms_settings.py +0 -0
  99. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/system_settings.py +0 -0
  100. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/__init__.py +0 -0
  101. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/aes.py +0 -0
  102. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/auto_discover.py +0 -0
  103. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/exception.py +0 -0
  104. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/file_utils.py +0 -0
  105. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/pwd_utils.py +0 -0
  106. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/ramdom_utils.py +0 -0
  107. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/snowflake.py +0 -0
  108. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/str_util.py +0 -0
  109. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/swagger_to_js.py +0 -0
  110. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
  111. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
  112. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/top_level.txt +0 -0
  113. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/script/__init__.py +0 -0
  114. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/setup.cfg +0 -0
  115. {fastgenerateapi-1.2.3 → fastgenerateapi-1.2.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.2.3
3
+ Version: 1.2.4
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -8,7 +8,7 @@
8
8
  # d8888P
9
9
 
10
10
 
11
- VERSION = (1, 2, 3)
11
+ VERSION = (1, 2, 4)
12
12
 
13
13
  __version__ = '.'.join(map(str, VERSION))
14
14
 
@@ -79,52 +79,51 @@ class SettingsModel(BaseModel):
79
79
  ):
80
80
  """
81
81
  get global settings and set into cache
82
- :param path:
83
- None时,自动检测本地文件,优先级 application.yaml,.env
84
- 推荐参数 .env / application.yaml / etcd.yaml
82
+ :param path: 指定本地文件,指定的文件不能用于修改 SettingsModel、EtcdSettings 的属性
83
+
84
+ Etcd配置优先级:
85
+ application.yaml > path指定文件 > .env
86
+ 其他属性优先级:
87
+ Etcd配置文件 > application.yaml > path指定文件 > .env
88
+ 除了.env,其他都是yaml格式
85
89
  :return:
86
90
  """
87
- is_yaml = False
91
+ data_dict = {}
88
92
  if path:
89
- if str(path).__contains__('.yaml'):
90
- is_yaml = True
91
- elif os.path.isfile("application.yaml"):
92
- path = "application.yaml"
93
- is_yaml = True
94
- else:
95
- path = ".env"
93
+ if not os.path.isfile(path):
94
+ raise ValidationException(f"指定哦欸之文件【{path}】不存在")
95
+ if str(path).endswith('.yaml'):
96
+ with open(path, 'r', encoding='utf-8') as file:
97
+ data_dict.update(yaml.safe_load(file) or {})
98
+ else:
99
+ raise ValidationException("不支持指定非yaml格式")
100
+ if os.path.isfile("application.yaml"):
101
+ with open("application.yaml", 'r', encoding='utf-8') as file:
102
+ data_dict.update(yaml.safe_load(file) or {})
103
+
104
+ etcd_settings = EtcdSettings(**data_dict.get("EtcdSettings", {}))
105
+ if etcd_settings.ETCD_SETTING_KEY:
106
+ res, metadata = etcd_settings.client.get(etcd_settings.ETCD_SETTING_KEY)
107
+ if not res:
108
+ raise ValidationException("未读取到Etcd的配置文件")
109
+ data_dict.update(yaml.safe_load(res))
96
110
 
97
- setting_models = cls.model_fields.copy()
98
111
  setting_dict = {}
99
- if not is_yaml:
100
- for k, v in setting_models.items():
101
- if isinstance(v, FieldInfo):
102
- setting_dict[k] = v.annotation(_env_file=str(path))
103
- else:
104
- data_dict = {}
105
- if os.path.isfile(path):
106
- with open(path, 'r', encoding='utf-8') as file:
107
- data_dict = yaml.safe_load(file) or {}
108
- etcd_settings = EtcdSettings(**data_dict.get("EtcdSettings", {}))
109
- if etcd_settings.ETCD_SETTING_KEY:
110
- res, metadata = etcd_settings.client.get(etcd_settings.ETCD_SETTING_KEY)
111
- if not res:
112
- raise ValidationException("未读取到Etcd的配置文件")
113
- data_dict.update(yaml.safe_load(res))
114
- if not data_dict:
115
- raise ValidationException(errors="配置错误")
116
- for k, v in setting_models.items():
117
- if isinstance(v, FieldInfo):
118
- env_prefix = None
119
- if hasattr(v.annotation, "Config") and v.annotation.Config.env_prefix:
120
- env_prefix = v.annotation.Config.env_prefix
121
- if not env_prefix and hasattr(v.annotation, "model_config"):
122
- env_prefix = v.annotation.model_config.get("env_prefix")
123
- if env_prefix:
124
- annotation_dict = {k_i.removeprefix(env_prefix): v_i for k_i, v_i in data_dict.get(v.annotation.__name__, {}).items()}
125
- else:
126
- annotation_dict = data_dict.get(v.annotation.__name__, {})
127
- setting_dict[k] = v.annotation(**annotation_dict)
112
+ setting_models = cls.model_fields.copy()
113
+ for k, v in setting_models.items():
114
+ if isinstance(v, FieldInfo):
115
+ env_prefix = None
116
+ if hasattr(v.annotation, "Config") and v.annotation.Config.env_prefix:
117
+ env_prefix = v.annotation.Config.env_prefix
118
+ if not env_prefix and hasattr(v.annotation, "model_config"):
119
+ env_prefix = v.annotation.model_config.get("env_prefix")
120
+ if env_prefix:
121
+ annotation_dict = {
122
+ k_i.removeprefix(env_prefix): v_i for k_i, v_i in data_dict.get(v.annotation.__name__, {}).items()
123
+ }
124
+ else:
125
+ annotation_dict = data_dict.get(v.annotation.__name__, {})
126
+ setting_dict[k] = v.annotation(**annotation_dict)
128
127
 
129
128
  setting_data = cls(**setting_dict)
130
129
 
@@ -9,7 +9,7 @@ from fastgenerateapi.pydantic_utils.base_settings import BaseSettings
9
9
  class AppSettings(BaseSettings):
10
10
  # 字段配置 驼峰格式:新版本(pydantic.alias_generators:to_camel)、老版本(pydantic.utils.to_lower_camel)
11
11
  # 下划线:pydantic.alias_generators.to_snake
12
- ALIAS_GENERATOR: Optional[str] = Field(default="pydantic.alias_generators.to_camel", description="序列化参数命名方法路径")
12
+ ALIAS_GENERATOR: Optional[str] = Field(default="pydantic.alias_generators.to_snake", description="序列化参数命名方法路径")
13
13
 
14
14
  # 分页对应字段以及配置默认值
15
15
  CURRENT_PAGE_FIELD: Optional[str] = Field(default="page", description="当前页字段")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.2.3
3
+ Version: 1.2.4
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
File without changes