1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
%global _empty_manifest_terminate_build 0
Name: python-flaskz
Version: 1.5
Release: 1
Summary: Flask and SQLAlchemy extensions for web applications
License: MIT License
URL: https://github.com/taozh1982/flaskz
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ef/b5/a77da13445b8e52197d23528eb1a97896eb8c7d4de61e20824fe4f3f145d/flaskz-1.5.tar.gz
BuildArch: noarch
Requires: python3-Flask
Requires: python3-SQLAlchemy
Requires: python3-requests
%description
## 关于
*Flaskz*是*Flask*和*SQLAlchemy ORM*的扩展, 主要用于web应用的开发, 可以快速灵活的实现各种业务场景并提供API。
## 使用
1. [☞数据库初始化&常用函数](http://zhangyiheng.com/blog/articles/py_flaskz_model_init.html)
2. [☞数据模型扩展类](http://zhangyiheng.com/blog/articles/py_flaskz_model_mixin.html)
3. [☞API封装、访问权限控制和系统日志](http://zhangyiheng.com/blog/articles/py_flaskz_api.html)
4. [☞常用函数](http://zhangyiheng.com/blog/articles/py_flaskz_utils.html)
5. [☞基于Flaskz的管理系统开发模板 Flaskz-admin](http://zhangyiheng.com/blog/articles/py_flaskz_admin.html)
6. [☞使用手册](http://zhangyiheng.com/blog/articles/py_flaskz_manual.html)
## 版本
- **1.5** `2023/05/01`
- [A] 重构`flaskz.rest`路由生成模块*
- 添加`register_model_route`函数,可用于生成指定数据模型的CRUD等路由
- 添加`register_model_add_route`函数,可用于生成指定数据模型的添加路由
- 添加`register_model_delete_route`函数,可用于生成指定数据模型的删除路由
- 添加`register_model_update_route`函数,可用于生成指定数据模型的更新路由
- 添加`register_model_upsert_route`函数,可用于生成指定数据模型的添加/更新路由
- 添加`register_model_query_route`函数,可用于生成指定数据模型的全量查询路由
- 添加`register_model_query_pss_route`函数,可用于生成指定数据模型的条件查询(分页+搜索+排序)路由
- 添加`register_models_query_route`函数,可用于生成多个数据模型的全量查询路由
- [A] `ModelMixin.query_pss`方法支持多列排序*
- [A] `flaskz.models.init_model`和`flaskz.log.init_log`函数添加对`Class`类型参数的支持
- [A] `BaseModelMixin.delete_db`方法添加对`dict`类型参数的支持
- [A] `flaskz.utils`添加`cls_to_dict`函数, 用于生成类属性的dict对象
- [C] `BaseModelMixin.bulk_delete`方法会删除符合条件的所有数据(此前版本只删除第一个)
- **1.3.1** `2023/03/02`
- [C] `init_model_rest_blueprint`函数生成的路由, 移除参数`path`类型转换, 以解决<2.2.3版本的Flask不会将结尾不带`/`的请求重定向到带`/`路由的问题
- **1.3** `2023/03/01`
- [A] `init_model_rest_blueprint`函数生成的query路由, 添加对单个数据的查询功能(`[GET]url_prefix/did/`)
- [A] `init_model_rest_blueprint`函数生成的update路由, 添加URL主键支持(`[PATCH]url_prefix/did/`)
- [C] `init_model_rest_blueprint`函数生成的delete路由, 结尾添加`/`, 用于支持以`/`结尾的URL删除请求(`[DELETE]url_prefix/did/`)
- [A] 添加`FLASKZ_DATABASE_ENGINE_KWARGS`参数, 用于自定义engine参数
- **1.2** `2023/02/01`
- [A] 添加`FLASKZ_DATABASE_POOL_PRE_PING`参数, 用于设置engine的`pool_pre_ping`参数
- [A] `init_model`函数添加数据库连接异常处理和重新连接
- ~~[C] `init_model_rest_blueprint`函数生成的删除路由URL中的id参数添加`path`类型转换(v1.3.1已移除)~~
- **1.1** `2023/01/01`
- [F] 修复`BaseModelMixin`的`update_db`和`delete_db`方法在非Flask应用或没有Flask应用上下文时的操作失败问题
- **1.0** `2022/12/01`
- [A] 添加`flaskz.utils.set_timeout`和`flaskz.utils.set_interval`函数用于延迟和周期性函数执行
- [A] `flaskz.ext.ssh`添加`timeout`参数以设置超时时间(登录&命令执行)
- [F] 修复`BaseModelMixin.bulk_delete`方法因某条数据删除失败导致的操作中断和部分删除问题
- **0.9** `2022/10/01`
- [A] 添加`flaskz.auth`包, 提供了JWS授权功能
- [A] 添加`flaskz.ext.ssh`, 提供了ssh相关功能(`pip install paramiko`)
- **0.8** `2022/08/01`
- [A] `BaseModelMixin`和`ModelMixin`模型扩展类添加没有Flask上下文环境时的使用支持
- [A] 添加`flaskz.ext`包用于存放扩展工具类, 请注意ext包中的代码依赖的第三方包, 不在flaskz的install_requires中, 需要单独安装
- [C] 将`flaskz.utils.RSACipher`和`flaskz.utils.AESCipher`类所在的`cypher.py`文件移到了`flaskz.ext`包中
- **0.7** `2022/06/01`
- [A] 添加`flaskz.utils.RSACipher`和`flaskz.utils.AESCipher`类用于加密&解密, 需要安装`pycryptodome`包
- [A] 添加`flaskz.utils.append_url_search_params`函数, 用于向url中添加search参数
- **0.6** `2022/05/06`
- [F] 修复当数据模型relationship中设置`lazy=joined`时, 排序引起的`"Can't resolve label reference"`问题
- [F] 修复`merge_dict`方法, 因使用iteritems导致的bug
- [F] 修复`forward_request`方法, 因请求没有设置`Content-Type=application/json`, 获取json时引发的`BadRequest('Content-Type was not 'application/json')`异常
- [F] 修复未调用`init_log`初始化, 调用flaskz_logger时, 引起的`NameError(name '_flaskz_logger' is not defined)`问题
- **0.3** `2021/11/26`
- [A] 添加`FLASKZ_LOGGER_DISABLED`参数, 用于控制flaskz_logger的启用和禁用
- [A] 添加使用文档
- [C] 修改`flaskz.utils.forward_request`函数逻辑, 如果url_params参数为空时, 会把`request.view_args`作为`url_params`参数来调用`api_request`
- **0.2** `2021/11/12`
- [F] 修复`query_multiple_model`函数bug
- [C] 对部分参数名进行规范化调整
- **0.1** `2021/10/26`
- 发布
%package -n python3-flaskz
Summary: Flask and SQLAlchemy extensions for web applications
Provides: python-flaskz
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-flaskz
## 关于
*Flaskz*是*Flask*和*SQLAlchemy ORM*的扩展, 主要用于web应用的开发, 可以快速灵活的实现各种业务场景并提供API。
## 使用
1. [☞数据库初始化&常用函数](http://zhangyiheng.com/blog/articles/py_flaskz_model_init.html)
2. [☞数据模型扩展类](http://zhangyiheng.com/blog/articles/py_flaskz_model_mixin.html)
3. [☞API封装、访问权限控制和系统日志](http://zhangyiheng.com/blog/articles/py_flaskz_api.html)
4. [☞常用函数](http://zhangyiheng.com/blog/articles/py_flaskz_utils.html)
5. [☞基于Flaskz的管理系统开发模板 Flaskz-admin](http://zhangyiheng.com/blog/articles/py_flaskz_admin.html)
6. [☞使用手册](http://zhangyiheng.com/blog/articles/py_flaskz_manual.html)
## 版本
- **1.5** `2023/05/01`
- [A] 重构`flaskz.rest`路由生成模块*
- 添加`register_model_route`函数,可用于生成指定数据模型的CRUD等路由
- 添加`register_model_add_route`函数,可用于生成指定数据模型的添加路由
- 添加`register_model_delete_route`函数,可用于生成指定数据模型的删除路由
- 添加`register_model_update_route`函数,可用于生成指定数据模型的更新路由
- 添加`register_model_upsert_route`函数,可用于生成指定数据模型的添加/更新路由
- 添加`register_model_query_route`函数,可用于生成指定数据模型的全量查询路由
- 添加`register_model_query_pss_route`函数,可用于生成指定数据模型的条件查询(分页+搜索+排序)路由
- 添加`register_models_query_route`函数,可用于生成多个数据模型的全量查询路由
- [A] `ModelMixin.query_pss`方法支持多列排序*
- [A] `flaskz.models.init_model`和`flaskz.log.init_log`函数添加对`Class`类型参数的支持
- [A] `BaseModelMixin.delete_db`方法添加对`dict`类型参数的支持
- [A] `flaskz.utils`添加`cls_to_dict`函数, 用于生成类属性的dict对象
- [C] `BaseModelMixin.bulk_delete`方法会删除符合条件的所有数据(此前版本只删除第一个)
- **1.3.1** `2023/03/02`
- [C] `init_model_rest_blueprint`函数生成的路由, 移除参数`path`类型转换, 以解决<2.2.3版本的Flask不会将结尾不带`/`的请求重定向到带`/`路由的问题
- **1.3** `2023/03/01`
- [A] `init_model_rest_blueprint`函数生成的query路由, 添加对单个数据的查询功能(`[GET]url_prefix/did/`)
- [A] `init_model_rest_blueprint`函数生成的update路由, 添加URL主键支持(`[PATCH]url_prefix/did/`)
- [C] `init_model_rest_blueprint`函数生成的delete路由, 结尾添加`/`, 用于支持以`/`结尾的URL删除请求(`[DELETE]url_prefix/did/`)
- [A] 添加`FLASKZ_DATABASE_ENGINE_KWARGS`参数, 用于自定义engine参数
- **1.2** `2023/02/01`
- [A] 添加`FLASKZ_DATABASE_POOL_PRE_PING`参数, 用于设置engine的`pool_pre_ping`参数
- [A] `init_model`函数添加数据库连接异常处理和重新连接
- ~~[C] `init_model_rest_blueprint`函数生成的删除路由URL中的id参数添加`path`类型转换(v1.3.1已移除)~~
- **1.1** `2023/01/01`
- [F] 修复`BaseModelMixin`的`update_db`和`delete_db`方法在非Flask应用或没有Flask应用上下文时的操作失败问题
- **1.0** `2022/12/01`
- [A] 添加`flaskz.utils.set_timeout`和`flaskz.utils.set_interval`函数用于延迟和周期性函数执行
- [A] `flaskz.ext.ssh`添加`timeout`参数以设置超时时间(登录&命令执行)
- [F] 修复`BaseModelMixin.bulk_delete`方法因某条数据删除失败导致的操作中断和部分删除问题
- **0.9** `2022/10/01`
- [A] 添加`flaskz.auth`包, 提供了JWS授权功能
- [A] 添加`flaskz.ext.ssh`, 提供了ssh相关功能(`pip install paramiko`)
- **0.8** `2022/08/01`
- [A] `BaseModelMixin`和`ModelMixin`模型扩展类添加没有Flask上下文环境时的使用支持
- [A] 添加`flaskz.ext`包用于存放扩展工具类, 请注意ext包中的代码依赖的第三方包, 不在flaskz的install_requires中, 需要单独安装
- [C] 将`flaskz.utils.RSACipher`和`flaskz.utils.AESCipher`类所在的`cypher.py`文件移到了`flaskz.ext`包中
- **0.7** `2022/06/01`
- [A] 添加`flaskz.utils.RSACipher`和`flaskz.utils.AESCipher`类用于加密&解密, 需要安装`pycryptodome`包
- [A] 添加`flaskz.utils.append_url_search_params`函数, 用于向url中添加search参数
- **0.6** `2022/05/06`
- [F] 修复当数据模型relationship中设置`lazy=joined`时, 排序引起的`"Can't resolve label reference"`问题
- [F] 修复`merge_dict`方法, 因使用iteritems导致的bug
- [F] 修复`forward_request`方法, 因请求没有设置`Content-Type=application/json`, 获取json时引发的`BadRequest('Content-Type was not 'application/json')`异常
- [F] 修复未调用`init_log`初始化, 调用flaskz_logger时, 引起的`NameError(name '_flaskz_logger' is not defined)`问题
- **0.3** `2021/11/26`
- [A] 添加`FLASKZ_LOGGER_DISABLED`参数, 用于控制flaskz_logger的启用和禁用
- [A] 添加使用文档
- [C] 修改`flaskz.utils.forward_request`函数逻辑, 如果url_params参数为空时, 会把`request.view_args`作为`url_params`参数来调用`api_request`
- **0.2** `2021/11/12`
- [F] 修复`query_multiple_model`函数bug
- [C] 对部分参数名进行规范化调整
- **0.1** `2021/10/26`
- 发布
%package help
Summary: Development documents and examples for flaskz
Provides: python3-flaskz-doc
%description help
## 关于
*Flaskz*是*Flask*和*SQLAlchemy ORM*的扩展, 主要用于web应用的开发, 可以快速灵活的实现各种业务场景并提供API。
## 使用
1. [☞数据库初始化&常用函数](http://zhangyiheng.com/blog/articles/py_flaskz_model_init.html)
2. [☞数据模型扩展类](http://zhangyiheng.com/blog/articles/py_flaskz_model_mixin.html)
3. [☞API封装、访问权限控制和系统日志](http://zhangyiheng.com/blog/articles/py_flaskz_api.html)
4. [☞常用函数](http://zhangyiheng.com/blog/articles/py_flaskz_utils.html)
5. [☞基于Flaskz的管理系统开发模板 Flaskz-admin](http://zhangyiheng.com/blog/articles/py_flaskz_admin.html)
6. [☞使用手册](http://zhangyiheng.com/blog/articles/py_flaskz_manual.html)
## 版本
- **1.5** `2023/05/01`
- [A] 重构`flaskz.rest`路由生成模块*
- 添加`register_model_route`函数,可用于生成指定数据模型的CRUD等路由
- 添加`register_model_add_route`函数,可用于生成指定数据模型的添加路由
- 添加`register_model_delete_route`函数,可用于生成指定数据模型的删除路由
- 添加`register_model_update_route`函数,可用于生成指定数据模型的更新路由
- 添加`register_model_upsert_route`函数,可用于生成指定数据模型的添加/更新路由
- 添加`register_model_query_route`函数,可用于生成指定数据模型的全量查询路由
- 添加`register_model_query_pss_route`函数,可用于生成指定数据模型的条件查询(分页+搜索+排序)路由
- 添加`register_models_query_route`函数,可用于生成多个数据模型的全量查询路由
- [A] `ModelMixin.query_pss`方法支持多列排序*
- [A] `flaskz.models.init_model`和`flaskz.log.init_log`函数添加对`Class`类型参数的支持
- [A] `BaseModelMixin.delete_db`方法添加对`dict`类型参数的支持
- [A] `flaskz.utils`添加`cls_to_dict`函数, 用于生成类属性的dict对象
- [C] `BaseModelMixin.bulk_delete`方法会删除符合条件的所有数据(此前版本只删除第一个)
- **1.3.1** `2023/03/02`
- [C] `init_model_rest_blueprint`函数生成的路由, 移除参数`path`类型转换, 以解决<2.2.3版本的Flask不会将结尾不带`/`的请求重定向到带`/`路由的问题
- **1.3** `2023/03/01`
- [A] `init_model_rest_blueprint`函数生成的query路由, 添加对单个数据的查询功能(`[GET]url_prefix/did/`)
- [A] `init_model_rest_blueprint`函数生成的update路由, 添加URL主键支持(`[PATCH]url_prefix/did/`)
- [C] `init_model_rest_blueprint`函数生成的delete路由, 结尾添加`/`, 用于支持以`/`结尾的URL删除请求(`[DELETE]url_prefix/did/`)
- [A] 添加`FLASKZ_DATABASE_ENGINE_KWARGS`参数, 用于自定义engine参数
- **1.2** `2023/02/01`
- [A] 添加`FLASKZ_DATABASE_POOL_PRE_PING`参数, 用于设置engine的`pool_pre_ping`参数
- [A] `init_model`函数添加数据库连接异常处理和重新连接
- ~~[C] `init_model_rest_blueprint`函数生成的删除路由URL中的id参数添加`path`类型转换(v1.3.1已移除)~~
- **1.1** `2023/01/01`
- [F] 修复`BaseModelMixin`的`update_db`和`delete_db`方法在非Flask应用或没有Flask应用上下文时的操作失败问题
- **1.0** `2022/12/01`
- [A] 添加`flaskz.utils.set_timeout`和`flaskz.utils.set_interval`函数用于延迟和周期性函数执行
- [A] `flaskz.ext.ssh`添加`timeout`参数以设置超时时间(登录&命令执行)
- [F] 修复`BaseModelMixin.bulk_delete`方法因某条数据删除失败导致的操作中断和部分删除问题
- **0.9** `2022/10/01`
- [A] 添加`flaskz.auth`包, 提供了JWS授权功能
- [A] 添加`flaskz.ext.ssh`, 提供了ssh相关功能(`pip install paramiko`)
- **0.8** `2022/08/01`
- [A] `BaseModelMixin`和`ModelMixin`模型扩展类添加没有Flask上下文环境时的使用支持
- [A] 添加`flaskz.ext`包用于存放扩展工具类, 请注意ext包中的代码依赖的第三方包, 不在flaskz的install_requires中, 需要单独安装
- [C] 将`flaskz.utils.RSACipher`和`flaskz.utils.AESCipher`类所在的`cypher.py`文件移到了`flaskz.ext`包中
- **0.7** `2022/06/01`
- [A] 添加`flaskz.utils.RSACipher`和`flaskz.utils.AESCipher`类用于加密&解密, 需要安装`pycryptodome`包
- [A] 添加`flaskz.utils.append_url_search_params`函数, 用于向url中添加search参数
- **0.6** `2022/05/06`
- [F] 修复当数据模型relationship中设置`lazy=joined`时, 排序引起的`"Can't resolve label reference"`问题
- [F] 修复`merge_dict`方法, 因使用iteritems导致的bug
- [F] 修复`forward_request`方法, 因请求没有设置`Content-Type=application/json`, 获取json时引发的`BadRequest('Content-Type was not 'application/json')`异常
- [F] 修复未调用`init_log`初始化, 调用flaskz_logger时, 引起的`NameError(name '_flaskz_logger' is not defined)`问题
- **0.3** `2021/11/26`
- [A] 添加`FLASKZ_LOGGER_DISABLED`参数, 用于控制flaskz_logger的启用和禁用
- [A] 添加使用文档
- [C] 修改`flaskz.utils.forward_request`函数逻辑, 如果url_params参数为空时, 会把`request.view_args`作为`url_params`参数来调用`api_request`
- **0.2** `2021/11/12`
- [F] 修复`query_multiple_model`函数bug
- [C] 对部分参数名进行规范化调整
- **0.1** `2021/10/26`
- 发布
%prep
%autosetup -n flaskz-1.5
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-flaskz -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.5-1
- Package Spec generated
|