seven-framework


Nameseven-framework JSON
Version 1.2.11 PyPI version JSON
download
home_pagehttp://gitlab.tdtech.gao7.com/python/seven_framework
Summaryseven framework
upload_time2024-10-11 11:37:20
maintainerNone
docs_urlNone
authorseven
requires_python~=3.4
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            

<!--
 * @Author: ChenXiaolei
 * @Date: 2021-09-08 11:32:28
 * @LastEditTime: 2024-10-11 19:36:24
 * @LastEditors: ChenXiaolei
 * @Description: 
-->

# seven_framework

## 天志互联Python开发库

### 1.2.11 更新内容
* base_model add_values允许主键传入

### 1.2.10 更新内容
* 优化TimeHelper

### 1.2.9 更新内容
* 优化base_console

### 1.2.8 更新内容
* 控制台支持扩展config配置 如 config_jd.json

### 1.2.7 更新内容
* 支持扩展config配置 如 config_jd.json

### 1.2.6 更新内容
* 优化monitor支持扩展config配置

### 1.2.5 更新内容
* 优化monitor支持redis集群检测

### 1.2.4 更新内容
* monitor支持redis集群检测

### 1.2.3 更新内容
* monitor支持redis集群检测

### 1.2.2 更新内容
* redis集群帮助类优化

### 1.2.1 更新内容
* 增加redis集群帮助类

### 1.1.51 更新内容
* ESHelper增加get方法

### 1.1.50 更新内容
* ESHelper增加count方法

### 1.1.49 更新内容
* ESHelper增加字典类型的配置文件

### 1.1.48 更新内容
* TimeHelper->format_time_to_timestamp 支持输出毫秒级别时间戳

### 1.1.47 更新内容
* MySQLHelper增加透传参数

### 1.1.46 更新内容
* lisence异常调试

### 1.1.45 更新内容
* lisence异常调试

### 1.1.44 更新内容
* lisence异常调试

### 1.1.43 更新内容
* lisence异常调试

### 1.1.42 更新内容
* lisence异常时打印日志

### 1.1.41 更新内容
* lisence异常时打印目录结构树

### 1.1.40 更新内容
* 处理base_model->update_list 排除更新字段为str时无效的bug

### 1.1.39 更新内容
* 处理base_model->update_entity 排除更新字段为str时无效的bug

### 1.1.38 更新内容
* 日志内容兼容字典类型

### 1.1.37 更新内容
* CryptoHelper 计算目录哈希函数优化

### 1.1.36 更新内容
* base_tornado添加lisence检查

### 1.1.35 更新内容
* CryptoHelper 增加目录哈希计算函数

### 1.1.34 更新内容
* COS新增以数据流形式上传Object

### 1.1.33 更新内容
* 修复is_this_month 每月最后一天为False的BUG

### 1.1.32 更新内容
* 更新SignHelper 对json格式的兼容处理,去除json的空格.

### 1.1.31 更新内容
* 限制urllib3版本号

### 1.1.30 更新内容
* 优化base_model的update_entity兼容数据库关键字

### 1.1.29 更新内容
* 优化filter_check_params过滤器
* 添加企业微信帮助类方法

### 1.1.28 更新内容
* 修复数据库分页查询时 分页模式=next时的bug

### 1.1.27 更新内容
* RedisHelper 参数调整

### 1.1.26 更新内容
* 配合k8s monitor异常时返回httpstatus=500

### 1.1.25 更新内容
* RedisHelper 兼容redis6.0以后版本,增加username配置项

### 1.1.24 更新内容
* 增加微信帮助类

### 1.1.23 更新内容
* 增加memcached帮助类

### 1.1.22 更新内容
* 优化企业微信帮助类

### 1.1.21 更新内容
* 更新企业微信帮助类
* 新增文件MD5计算

### 1.1.20 更新内容
* OSHelper->copy_tree 支持is_cover是否覆盖文件选项

### 1.1.19 更新内容
* 修复SignHelper传参BUG

### 1.1.18 更新内容
* mysql base_model 增加字段反引号,兼容字段使用关键字的情况

### 1.1.17 更新内容
* 处理base_model get_dict_page_list next时返回实体的bug

### 1.1.16 更新内容
* 兼容timestamp_to_format_time 无法处理毫秒的问题

### 1.1.15 更新内容
* 与bos冲突 调整pycryptodome 初始要求>=3.8.0

### 1.1.14 更新内容
* base_model 分页相关方法增加分页计数模式可选参数

### 1.1.13 更新内容
* CryptoHelper增加RSA相关函数
* SignHelper增加RSA签名函数

### 1.1.12 更新内容
* 修复get_last_day_of_the_month() 12月份异常的bug 

### 1.1.11 更新内容
* SignHelper增加签名串链接字符
* 修改base_handler 增加config配置is_check_xsrf 不默认验证

### 1.1.10 更新内容
* 修复sign参数为数字的报错情况

### 1.1.9 更新内容
* 增加http patch方法

### 1.1.8 更新内容
* 增加os功能
* 处理MySQL事务OperationalError或者是InternalError异常堵塞的问题

### 1.1.7 更新内容
* 修复aws s3 bug

### 1.1.6 更新内容
* 新增消息队列帮助类(RabbitMQ、RocketMQ)

### 1.1.5 更新内容
* mysql事务日志修复

### 1.1.4 更新内容
* 添加消息队列 RabbitMQ、RocketMQ帮助类

### 1.1.3 更新内容
* 修复mysql事务回滚的bug

### 1.1.1 更新内容
* redis支持ssl

### 1.1.0 更新内容
* 修改base_handler:filter_check_params参数过滤器在获取post/application/json参数后,增加同时去获取query参数
* base_model update_table、del_entity 添加limit可选参数

### 1.0.135 更新内容
* 优化mysql事务没记录日志的问题

### 1.0.134 更新内容
* 添加AWS S3存储支持
* MySQLHelper _add_sql_log添加详细日志

### 1.0.133 更新内容
* HTTPHelper 添加put delete options head patch方法

### 1.0.132 更新内容
* 新增ip解析帮助类
* 添加百度云媒体信息获取方法

### 1.0.131 更新内容
* 新增os.py 文件/文件夹操作类
* base_handler加上返回文件流函数
* 默认线程连接池数量调整为5000,并且支持配置读取(thread_pool_count)

### 1.0.130 更新内容
* base_model 增加add_values(insert...values(),();)函数;
* base_model add函数增加可选返回值(自增ID或影响行数)扩展参数;
* base_model 增加add_update_whole_entity函数,用于遇到唯一键时全量更新的函数;
* mysql.py commit_transaction 添加返回详细的元组信息参数

### 1.0.129 更新内容
* 处理路由传参未透传接收问题

### 1.0.128 更新内容
* Monitor接口监控不参与日志记录

### 1.0.127 更新内容
* base_model limit支持整形

### 1.0.126 更新内容
* 日志配置添加log_console,用于控制日志是否需要输出在控制台上

### 1.0.125 更新内容
* 添加通用签名装饰器
* 更新百度SDK版本号

### 1.0.124 更新内容
* 添加百度云存储BOS组件
* base_model update_entity添加排除更新字段
* log未配置报错问题修复

### 1.0.123 更新内容
* 添加日志备份时间

### 1.0.122 更新内容
* 处理了日志存储配置开关无效的bug
* 优化redis字符串返回byte类型的配置

### 1.0.121 更新内容
* 处理文本日志不记录request_code的问题;
* dict添加不定字典的合并函数;

### 1.0.120 更新内容
* 添加本地文件读写帮助类 file->LocalFileHelper

### 1.0.119 更新内容
* mysql日志记录格式调整

### 1.0.118 更新内容
* TimeHelper增加格式时间转换函数

### 1.0.117 更新内容
* 框架整理发布

### 1.0.116 更新内容
* tornado handler自带monitor.py

### 1.0.115 更新内容
* log优化
* clickhouse帮助类

### 1.0.114 更新内容
* log日志配置修改,添加redis日志存储

### 1.0.113 更新内容
* 增加JsonHelper json_dumps()  常用格式的反序列化

### 1.0.112 更新内容
* 优化SignHelper公共加密类

### 1.0.111 更新内容
* 优化SignHelper公共加密类

### 1.0.110 更新内容
* 优化pymysql暗改转移方法

### 1.0.108 更新内容
* 添加腾讯云对象存储

### 1.0.107 更新内容
* 兼容base_model get_total时传groupby时报错的问题

### 1.0.106 更新内容
* 添加阿里oss2依赖

### 1.0.105 更新内容
* 添加阿里oss2帮助类

### 1.0.104 更新内容
* 优化file添加金山云(KS3)存储帮助类

### 1.0.102 更新内容
* file添加金山云(KS3)存储帮助类
* 调整filter_check_params 方法兼容application/json为空时自动再查找普通参数

### 1.0.101 更新内容
* http_log增加打印公共返回字段

### 1.0.100 更新内容
* 修复mysql update bug

### 1.0.99 更新内容
* 修复mysql bug

### 1.0.98 更新内容
* 优化Timehelper 关于本周/月/年 第一天及最后一天时间,以及指定日期的对比函数

### 1.0.96 更新内容
* 新增Timehelper 关于本周/月/年 第一天及最后一天时间,以及指定日期的对比函数
* 优化mysql 传参如果不为list的情况下,参数为0报错的bug

### 1.0.95 更新内容
* 新增CSVHelper

### 1.0.94 更新内容
* 优化base_model 解决get_entity_by_id id=0报错的BUG

### 1.0.93 更新内容
* 优化base_model

### 1.0.92 更新内容
* 修改base_model 更新数据库未影响行数时返回False

### 1.0.91 更新内容
* DBUtils 高版本写法变更,依赖版本调整

### 1.0.90 更新内容
* TimeHelper 增加时间差集计算

### 1.0.89 更新内容
* 优化企业微信帮助类

### 1.0.88 更新内容
* 优化企业微信帮助类

### 1.0.87 更新内容
* 添加企业微信帮助类
* 添加公共签名帮助类
* 兼容http post请求

### 1.0.86 更新内容
* 修改毫秒级时间戳

### 1.0.85 更新内容
* 添加毫秒级时间戳

### 1.0.84 更新内容
* 修复redis db=0是异常的bug

### 1.0.83 更新内容
* 修复http post json请求bug

### 1.0.82 更新内容
* 修复redis添加init参数bug

### 1.0.81 更新内容
* Redis添加init参数,可直接指定配置字典即可

### 1.0.80 更新内容
* 优化sha256加密方法

### 1.0.79 更新内容
* 添加sha256加密方法

### 1.0.78 更新内容
* TimeHelper添加更改格式化时间格式的方法

### 1.0.77 更新内容
* log入库时间戳格式调整

### 1.0.75 更新内容
* 事务添加导出sql语句方法

### 1.0.74 更新内容
* 优化mysql事务

### 1.0.73 更新内容
* base_model增加update_list方法

### 1.0.72 更新内容
* 优化DbTransaction 事务类

### 1.0.71 更新内容
* 优化DbTransaction 事务类

### 1.0.70 更新内容
* 增加DbTransaction 事务类

### 1.0.69 更新内容
* 修复base_model BUG

### 1.0.68 更新内容
* 修改企业微信通知添加项目产生的错误

### 1.0.67 更新内容
* base_model 增加事务处理

### 1.0.66 更新内容
* 添加框架依赖

### 1.0.65 更新内容
* 添加框架依赖

### 1.0.64 更新内容
* 增加excel帮助类
* 增加二维码帮助类

### 1.0.63 更新内容
* 修改file->ufile cdn前缀问题

### 1.0.62 更新内容
* base_model 修改page_list函数的count()字段

### 1.0.61 更新内容
* log记录数据库添加record_time字段
* base_handler->get_params 添加是否去除前后空格选填参数

### 1.0.60 更新内容
* base_model conver_type修改

### 1.0.59 更新内容
* 企业微信通知加项目名称

### 1.0.58 更新内容
* 修改host处理

### 1.0.57 更新内容
* 修改log写入数据库转义问题

### 1.0.56 更新内容
* 优化base_model 分页函数

### 1.0.55 更新内容
* 优化全局异常报错处理

### 1.0.54 更新内容
* 优化mysql连接

### 1.0.53 更新内容
* 添加DBUtils依赖

### 1.0.52 更新内容
* 优化mysqlhelper 连接池
* basemodel配合mysql修改

### 1.0.51 更新内容
* 修改urlencode bug

### 1.0.50 更新内容
* 优化log添加数据库记录

### 1.0.49 更新内容
* log添加数据库记录
* ufile.py 改名为 file.py
* file.py 添加ufile 下载文件方法

### 1.0.48 更新内容
* 优化filter_check_params

### 1.0.47 更新内容
* JsonEncoder 支持decimal类型

### 1.0.46 更新内容
* 修复ufile bug

### 1.0.45 更新内容
* 修复ufile包名冲突的问题

### 1.0.44 更新内容
* 增加ufile封装

### 1.0.43 更新内容
* 修复企业微信通知bug
* 修改prepare的http请求信息支持json参数

### 1.0.42 更新内容
* @filter_check_params支持接收json传参

### 1.0.41 更新内容
* 添加testing环境配置

### 1.0.40 更新内容
* 修复已知BUG

### 1.0.39 更新内容
* 添加企业微信报警(notice.py)
* 修改base_handler内filter_check_params装饰器无需输入可选参数

### 1.0.38 更新内容
* 修复引用

### 1.0.37 更新内容
* 修复json bytes转码BUG
* base_handler 添加body参数转dict函数

### 1.0.36 更新内容
* 修复http请求控制台日志bug

### 1.0.35 更新内容
* 添加http请求控制台日志

### 1.0.33 更新内容
* 添加base_tornado

### 1.0.31 更新内容
* 添加coding帮助类

### 1.0.30 更新内容
* 添加依赖源

### 1.0.29 更新内容
* 优化base_model 增加seven_framework架引用

### 1.0.27 更新内容
* 增加控制台基础引用 base_console

### 1.0.26 更新内容
* 优化CryptoHelper 编码问题
* 增加CryptoHelper 针对bytes的md5加密
* 优化BaseHandler body转实体方法

### 1.0.25 更新内容
* CryptoHelper增加sha1加密

### 1.0.24 更新内容
* base_handler增加request_body_to_entity方法

### 1.0.23 更新内容
* 优化base_handler get_param 空值也返回默认值

### 1.0.22 更新内容
* 优化base_handler filter_check_params 装饰器,允许不检查必填参数

### 1.0.20 更新内容
* 优化MysqlHelper

### 1.0.19 更新内容
* 将MysqlHelper 的condition参数 拆开为 where/group_by/order_by/limit 参数
* 将MysqlHelper及base_model 增加事务执行函数transaction_execute

### 1.0.18 更新内容
* 解决base_api_handler的初始化bug

### 1.0.17 更新内容
* 优化框架结构
* 修改CryptoHelper 的 AES加解密方法


            

Raw data

            {
    "_id": null,
    "home_page": "http://gitlab.tdtech.gao7.com/python/seven_framework",
    "name": "seven-framework",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.4",
    "maintainer_email": null,
    "keywords": null,
    "author": "seven",
    "author_email": "tech@gao7.com",
    "download_url": "https://files.pythonhosted.org/packages/f0/98/849285c1dea6ed6802ecc46b027c73c737b75c70547df4db8dd8fc36edca/seven_framework-1.2.11.tar.gz",
    "platform": null,
    "description": "\n\n<!--\n * @Author: ChenXiaolei\n * @Date: 2021-09-08 11:32:28\n * @LastEditTime: 2024-10-11 19:36:24\n * @LastEditors: ChenXiaolei\n * @Description: \n-->\n\n# seven_framework\n\n## \u5929\u5fd7\u4e92\u8054Python\u5f00\u53d1\u5e93\n\n### 1.2.11 \u66f4\u65b0\u5185\u5bb9\n* base_model add_values\u5141\u8bb8\u4e3b\u952e\u4f20\u5165\n\n### 1.2.10 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316TimeHelper\n\n### 1.2.9 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_console\n\n### 1.2.8 \u66f4\u65b0\u5185\u5bb9\n* \u63a7\u5236\u53f0\u652f\u6301\u6269\u5c55config\u914d\u7f6e \u5982 config_jd.json\n\n### 1.2.7 \u66f4\u65b0\u5185\u5bb9\n* \u652f\u6301\u6269\u5c55config\u914d\u7f6e \u5982 config_jd.json\n\n### 1.2.6 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316monitor\u652f\u6301\u6269\u5c55config\u914d\u7f6e\n\n### 1.2.5 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316monitor\u652f\u6301redis\u96c6\u7fa4\u68c0\u6d4b\n\n### 1.2.4 \u66f4\u65b0\u5185\u5bb9\n* monitor\u652f\u6301redis\u96c6\u7fa4\u68c0\u6d4b\n\n### 1.2.3 \u66f4\u65b0\u5185\u5bb9\n* monitor\u652f\u6301redis\u96c6\u7fa4\u68c0\u6d4b\n\n### 1.2.2 \u66f4\u65b0\u5185\u5bb9\n* redis\u96c6\u7fa4\u5e2e\u52a9\u7c7b\u4f18\u5316\n\n### 1.2.1 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0redis\u96c6\u7fa4\u5e2e\u52a9\u7c7b\n\n### 1.1.51 \u66f4\u65b0\u5185\u5bb9\n* ESHelper\u589e\u52a0get\u65b9\u6cd5\n\n### 1.1.50 \u66f4\u65b0\u5185\u5bb9\n* ESHelper\u589e\u52a0count\u65b9\u6cd5\n\n### 1.1.49 \u66f4\u65b0\u5185\u5bb9\n* ESHelper\u589e\u52a0\u5b57\u5178\u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\n\n### 1.1.48 \u66f4\u65b0\u5185\u5bb9\n* TimeHelper->format_time_to_timestamp \u652f\u6301\u8f93\u51fa\u6beb\u79d2\u7ea7\u522b\u65f6\u95f4\u6233\n\n### 1.1.47 \u66f4\u65b0\u5185\u5bb9\n* MySQLHelper\u589e\u52a0\u900f\u4f20\u53c2\u6570\n\n### 1.1.46 \u66f4\u65b0\u5185\u5bb9\n* lisence\u5f02\u5e38\u8c03\u8bd5\n\n### 1.1.45 \u66f4\u65b0\u5185\u5bb9\n* lisence\u5f02\u5e38\u8c03\u8bd5\n\n### 1.1.44 \u66f4\u65b0\u5185\u5bb9\n* lisence\u5f02\u5e38\u8c03\u8bd5\n\n### 1.1.43 \u66f4\u65b0\u5185\u5bb9\n* lisence\u5f02\u5e38\u8c03\u8bd5\n\n### 1.1.42 \u66f4\u65b0\u5185\u5bb9\n* lisence\u5f02\u5e38\u65f6\u6253\u5370\u65e5\u5fd7\n\n### 1.1.41 \u66f4\u65b0\u5185\u5bb9\n* lisence\u5f02\u5e38\u65f6\u6253\u5370\u76ee\u5f55\u7ed3\u6784\u6811\n\n### 1.1.40 \u66f4\u65b0\u5185\u5bb9\n* \u5904\u7406base_model->update_list \u6392\u9664\u66f4\u65b0\u5b57\u6bb5\u4e3astr\u65f6\u65e0\u6548\u7684bug\n\n### 1.1.39 \u66f4\u65b0\u5185\u5bb9\n* \u5904\u7406base_model->update_entity \u6392\u9664\u66f4\u65b0\u5b57\u6bb5\u4e3astr\u65f6\u65e0\u6548\u7684bug\n\n### 1.1.38 \u66f4\u65b0\u5185\u5bb9\n* \u65e5\u5fd7\u5185\u5bb9\u517c\u5bb9\u5b57\u5178\u7c7b\u578b\n\n### 1.1.37 \u66f4\u65b0\u5185\u5bb9\n* CryptoHelper \u8ba1\u7b97\u76ee\u5f55\u54c8\u5e0c\u51fd\u6570\u4f18\u5316\n\n### 1.1.36 \u66f4\u65b0\u5185\u5bb9\n* base_tornado\u6dfb\u52a0lisence\u68c0\u67e5\n\n### 1.1.35 \u66f4\u65b0\u5185\u5bb9\n* CryptoHelper \u589e\u52a0\u76ee\u5f55\u54c8\u5e0c\u8ba1\u7b97\u51fd\u6570\n\n### 1.1.34 \u66f4\u65b0\u5185\u5bb9\n* COS\u65b0\u589e\u4ee5\u6570\u636e\u6d41\u5f62\u5f0f\u4e0a\u4f20Object\n\n### 1.1.33 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dis_this_month \u6bcf\u6708\u6700\u540e\u4e00\u5929\u4e3aFalse\u7684BUG\n\n### 1.1.32 \u66f4\u65b0\u5185\u5bb9\n* \u66f4\u65b0SignHelper \u5bf9json\u683c\u5f0f\u7684\u517c\u5bb9\u5904\u7406,\u53bb\u9664json\u7684\u7a7a\u683c.\n\n### 1.1.31 \u66f4\u65b0\u5185\u5bb9\n* \u9650\u5236urllib3\u7248\u672c\u53f7\n\n### 1.1.30 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_model\u7684update_entity\u517c\u5bb9\u6570\u636e\u5e93\u5173\u952e\u5b57\n\n### 1.1.29 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316filter_check_params\u8fc7\u6ee4\u5668\n* \u6dfb\u52a0\u4f01\u4e1a\u5fae\u4fe1\u5e2e\u52a9\u7c7b\u65b9\u6cd5\n\n### 1.1.28 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590d\u6570\u636e\u5e93\u5206\u9875\u67e5\u8be2\u65f6 \u5206\u9875\u6a21\u5f0f=next\u65f6\u7684bug\n\n### 1.1.27 \u66f4\u65b0\u5185\u5bb9\n* RedisHelper \u53c2\u6570\u8c03\u6574\n\n### 1.1.26 \u66f4\u65b0\u5185\u5bb9\n* \u914d\u5408k8s monitor\u5f02\u5e38\u65f6\u8fd4\u56dehttpstatus=500\n\n### 1.1.25 \u66f4\u65b0\u5185\u5bb9\n* RedisHelper \u517c\u5bb9redis6.0\u4ee5\u540e\u7248\u672c,\u589e\u52a0username\u914d\u7f6e\u9879\n\n### 1.1.24 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0\u5fae\u4fe1\u5e2e\u52a9\u7c7b\n\n### 1.1.23 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0memcached\u5e2e\u52a9\u7c7b\n\n### 1.1.22 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316\u4f01\u4e1a\u5fae\u4fe1\u5e2e\u52a9\u7c7b\n\n### 1.1.21 \u66f4\u65b0\u5185\u5bb9\n* \u66f4\u65b0\u4f01\u4e1a\u5fae\u4fe1\u5e2e\u52a9\u7c7b\n* \u65b0\u589e\u6587\u4ef6MD5\u8ba1\u7b97\n\n### 1.1.20 \u66f4\u65b0\u5185\u5bb9\n* OSHelper->copy_tree \u652f\u6301is_cover\u662f\u5426\u8986\u76d6\u6587\u4ef6\u9009\u9879\n\n### 1.1.19 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dSignHelper\u4f20\u53c2BUG\n\n### 1.1.18 \u66f4\u65b0\u5185\u5bb9\n* mysql base_model \u589e\u52a0\u5b57\u6bb5\u53cd\u5f15\u53f7,\u517c\u5bb9\u5b57\u6bb5\u4f7f\u7528\u5173\u952e\u5b57\u7684\u60c5\u51b5\n\n### 1.1.17 \u66f4\u65b0\u5185\u5bb9\n* \u5904\u7406base_model get_dict_page_list next\u65f6\u8fd4\u56de\u5b9e\u4f53\u7684bug\n\n### 1.1.16 \u66f4\u65b0\u5185\u5bb9\n* \u517c\u5bb9timestamp_to_format_time \u65e0\u6cd5\u5904\u7406\u6beb\u79d2\u7684\u95ee\u9898\n\n### 1.1.15 \u66f4\u65b0\u5185\u5bb9\n* \u4e0ebos\u51b2\u7a81 \u8c03\u6574pycryptodome \u521d\u59cb\u8981\u6c42>=3.8.0\n\n### 1.1.14 \u66f4\u65b0\u5185\u5bb9\n* base_model \u5206\u9875\u76f8\u5173\u65b9\u6cd5\u589e\u52a0\u5206\u9875\u8ba1\u6570\u6a21\u5f0f\u53ef\u9009\u53c2\u6570\n\n### 1.1.13 \u66f4\u65b0\u5185\u5bb9\n* CryptoHelper\u589e\u52a0RSA\u76f8\u5173\u51fd\u6570\n* SignHelper\u589e\u52a0RSA\u7b7e\u540d\u51fd\u6570\n\n### 1.1.12 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dget_last_day_of_the_month() 12\u6708\u4efd\u5f02\u5e38\u7684bug \n\n### 1.1.11 \u66f4\u65b0\u5185\u5bb9\n* SignHelper\u589e\u52a0\u7b7e\u540d\u4e32\u94fe\u63a5\u5b57\u7b26\n* \u4fee\u6539base_handler \u589e\u52a0config\u914d\u7f6eis_check_xsrf \u4e0d\u9ed8\u8ba4\u9a8c\u8bc1\n\n### 1.1.10 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dsign\u53c2\u6570\u4e3a\u6570\u5b57\u7684\u62a5\u9519\u60c5\u51b5\n\n### 1.1.9 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0http patch\u65b9\u6cd5\n\n### 1.1.8 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0os\u529f\u80fd\n* \u5904\u7406MySQL\u4e8b\u52a1OperationalError\u6216\u8005\u662fInternalError\u5f02\u5e38\u5835\u585e\u7684\u95ee\u9898\n\n### 1.1.7 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590daws s3 bug\n\n### 1.1.6 \u66f4\u65b0\u5185\u5bb9\n* \u65b0\u589e\u6d88\u606f\u961f\u5217\u5e2e\u52a9\u7c7b(RabbitMQ\u3001RocketMQ)\n\n### 1.1.5 \u66f4\u65b0\u5185\u5bb9\n* mysql\u4e8b\u52a1\u65e5\u5fd7\u4fee\u590d\n\n### 1.1.4 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u6d88\u606f\u961f\u5217 RabbitMQ\u3001RocketMQ\u5e2e\u52a9\u7c7b\n\n### 1.1.3 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dmysql\u4e8b\u52a1\u56de\u6eda\u7684bug\n\n### 1.1.1 \u66f4\u65b0\u5185\u5bb9\n* redis\u652f\u6301ssl\n\n### 1.1.0 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539base_handler:filter_check_params\u53c2\u6570\u8fc7\u6ee4\u5668\u5728\u83b7\u53d6post/application/json\u53c2\u6570\u540e,\u589e\u52a0\u540c\u65f6\u53bb\u83b7\u53d6query\u53c2\u6570\n* base_model update_table\u3001del_entity \u6dfb\u52a0limit\u53ef\u9009\u53c2\u6570\n\n### 1.0.135 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316mysql\u4e8b\u52a1\u6ca1\u8bb0\u5f55\u65e5\u5fd7\u7684\u95ee\u9898\n\n### 1.0.134 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0AWS S3\u5b58\u50a8\u652f\u6301\n* MySQLHelper _add_sql_log\u6dfb\u52a0\u8be6\u7ec6\u65e5\u5fd7\n\n### 1.0.133 \u66f4\u65b0\u5185\u5bb9\n* HTTPHelper \u6dfb\u52a0put delete options head patch\u65b9\u6cd5\n\n### 1.0.132 \u66f4\u65b0\u5185\u5bb9\n* \u65b0\u589eip\u89e3\u6790\u5e2e\u52a9\u7c7b\n* \u6dfb\u52a0\u767e\u5ea6\u4e91\u5a92\u4f53\u4fe1\u606f\u83b7\u53d6\u65b9\u6cd5\n\n### 1.0.131 \u66f4\u65b0\u5185\u5bb9\n* \u65b0\u589eos.py \u6587\u4ef6/\u6587\u4ef6\u5939\u64cd\u4f5c\u7c7b\n* base_handler\u52a0\u4e0a\u8fd4\u56de\u6587\u4ef6\u6d41\u51fd\u6570\n* \u9ed8\u8ba4\u7ebf\u7a0b\u8fde\u63a5\u6c60\u6570\u91cf\u8c03\u6574\u4e3a5000,\u5e76\u4e14\u652f\u6301\u914d\u7f6e\u8bfb\u53d6(thread_pool_count)\n\n### 1.0.130 \u66f4\u65b0\u5185\u5bb9\n* base_model \u589e\u52a0add_values(insert...values(),();)\u51fd\u6570;\n* base_model add\u51fd\u6570\u589e\u52a0\u53ef\u9009\u8fd4\u56de\u503c(\u81ea\u589eID\u6216\u5f71\u54cd\u884c\u6570)\u6269\u5c55\u53c2\u6570;\n* base_model \u589e\u52a0add_update_whole_entity\u51fd\u6570,\u7528\u4e8e\u9047\u5230\u552f\u4e00\u952e\u65f6\u5168\u91cf\u66f4\u65b0\u7684\u51fd\u6570;\n* mysql.py commit_transaction \u6dfb\u52a0\u8fd4\u56de\u8be6\u7ec6\u7684\u5143\u7ec4\u4fe1\u606f\u53c2\u6570\n\n### 1.0.129 \u66f4\u65b0\u5185\u5bb9\n* \u5904\u7406\u8def\u7531\u4f20\u53c2\u672a\u900f\u4f20\u63a5\u6536\u95ee\u9898\n\n### 1.0.128 \u66f4\u65b0\u5185\u5bb9\n* Monitor\u63a5\u53e3\u76d1\u63a7\u4e0d\u53c2\u4e0e\u65e5\u5fd7\u8bb0\u5f55\n\n### 1.0.127 \u66f4\u65b0\u5185\u5bb9\n* base_model limit\u652f\u6301\u6574\u5f62\n\n### 1.0.126 \u66f4\u65b0\u5185\u5bb9\n* \u65e5\u5fd7\u914d\u7f6e\u6dfb\u52a0log_console,\u7528\u4e8e\u63a7\u5236\u65e5\u5fd7\u662f\u5426\u9700\u8981\u8f93\u51fa\u5728\u63a7\u5236\u53f0\u4e0a\n\n### 1.0.125 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u901a\u7528\u7b7e\u540d\u88c5\u9970\u5668\n* \u66f4\u65b0\u767e\u5ea6SDK\u7248\u672c\u53f7\n\n### 1.0.124 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u767e\u5ea6\u4e91\u5b58\u50a8BOS\u7ec4\u4ef6\n* base_model update_entity\u6dfb\u52a0\u6392\u9664\u66f4\u65b0\u5b57\u6bb5\n* log\u672a\u914d\u7f6e\u62a5\u9519\u95ee\u9898\u4fee\u590d\n\n### 1.0.123 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u65e5\u5fd7\u5907\u4efd\u65f6\u95f4\n\n### 1.0.122 \u66f4\u65b0\u5185\u5bb9\n* \u5904\u7406\u4e86\u65e5\u5fd7\u5b58\u50a8\u914d\u7f6e\u5f00\u5173\u65e0\u6548\u7684bug\n* \u4f18\u5316redis\u5b57\u7b26\u4e32\u8fd4\u56debyte\u7c7b\u578b\u7684\u914d\u7f6e\n\n### 1.0.121 \u66f4\u65b0\u5185\u5bb9\n* \u5904\u7406\u6587\u672c\u65e5\u5fd7\u4e0d\u8bb0\u5f55request_code\u7684\u95ee\u9898;\n* dict\u6dfb\u52a0\u4e0d\u5b9a\u5b57\u5178\u7684\u5408\u5e76\u51fd\u6570;\n\n### 1.0.120 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u672c\u5730\u6587\u4ef6\u8bfb\u5199\u5e2e\u52a9\u7c7b file->LocalFileHelper\n\n### 1.0.119 \u66f4\u65b0\u5185\u5bb9\n* mysql\u65e5\u5fd7\u8bb0\u5f55\u683c\u5f0f\u8c03\u6574\n\n### 1.0.118 \u66f4\u65b0\u5185\u5bb9\n* TimeHelper\u589e\u52a0\u683c\u5f0f\u65f6\u95f4\u8f6c\u6362\u51fd\u6570\n\n### 1.0.117 \u66f4\u65b0\u5185\u5bb9\n* \u6846\u67b6\u6574\u7406\u53d1\u5e03\n\n### 1.0.116 \u66f4\u65b0\u5185\u5bb9\n* tornado handler\u81ea\u5e26monitor.py\n\n### 1.0.115 \u66f4\u65b0\u5185\u5bb9\n* log\u4f18\u5316\n* clickhouse\u5e2e\u52a9\u7c7b\n\n### 1.0.114 \u66f4\u65b0\u5185\u5bb9\n* log\u65e5\u5fd7\u914d\u7f6e\u4fee\u6539,\u6dfb\u52a0redis\u65e5\u5fd7\u5b58\u50a8\n\n### 1.0.113 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0JsonHelper json_dumps()  \u5e38\u7528\u683c\u5f0f\u7684\u53cd\u5e8f\u5217\u5316\n\n### 1.0.112 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316SignHelper\u516c\u5171\u52a0\u5bc6\u7c7b\n\n### 1.0.111 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316SignHelper\u516c\u5171\u52a0\u5bc6\u7c7b\n\n### 1.0.110 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316pymysql\u6697\u6539\u8f6c\u79fb\u65b9\u6cd5\n\n### 1.0.108 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u817e\u8baf\u4e91\u5bf9\u8c61\u5b58\u50a8\n\n### 1.0.107 \u66f4\u65b0\u5185\u5bb9\n* \u517c\u5bb9base_model get_total\u65f6\u4f20groupby\u65f6\u62a5\u9519\u7684\u95ee\u9898\n\n### 1.0.106 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u963f\u91ccoss2\u4f9d\u8d56\n\n### 1.0.105 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u963f\u91ccoss2\u5e2e\u52a9\u7c7b\n\n### 1.0.104 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316file\u6dfb\u52a0\u91d1\u5c71\u4e91(KS3)\u5b58\u50a8\u5e2e\u52a9\u7c7b\n\n### 1.0.102 \u66f4\u65b0\u5185\u5bb9\n* file\u6dfb\u52a0\u91d1\u5c71\u4e91(KS3)\u5b58\u50a8\u5e2e\u52a9\u7c7b\n* \u8c03\u6574filter_check_params \u65b9\u6cd5\u517c\u5bb9application/json\u4e3a\u7a7a\u65f6\u81ea\u52a8\u518d\u67e5\u627e\u666e\u901a\u53c2\u6570\n\n### 1.0.101 \u66f4\u65b0\u5185\u5bb9\n* http_log\u589e\u52a0\u6253\u5370\u516c\u5171\u8fd4\u56de\u5b57\u6bb5\n\n### 1.0.100 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dmysql update bug\n\n### 1.0.99 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dmysql bug\n\n### 1.0.98 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316Timehelper \u5173\u4e8e\u672c\u5468/\u6708/\u5e74 \u7b2c\u4e00\u5929\u53ca\u6700\u540e\u4e00\u5929\u65f6\u95f4,\u4ee5\u53ca\u6307\u5b9a\u65e5\u671f\u7684\u5bf9\u6bd4\u51fd\u6570\n\n### 1.0.96 \u66f4\u65b0\u5185\u5bb9\n* \u65b0\u589eTimehelper \u5173\u4e8e\u672c\u5468/\u6708/\u5e74 \u7b2c\u4e00\u5929\u53ca\u6700\u540e\u4e00\u5929\u65f6\u95f4,\u4ee5\u53ca\u6307\u5b9a\u65e5\u671f\u7684\u5bf9\u6bd4\u51fd\u6570\n* \u4f18\u5316mysql \u4f20\u53c2\u5982\u679c\u4e0d\u4e3alist\u7684\u60c5\u51b5\u4e0b,\u53c2\u6570\u4e3a0\u62a5\u9519\u7684bug\n\n### 1.0.95 \u66f4\u65b0\u5185\u5bb9\n* \u65b0\u589eCSVHelper\n\n### 1.0.94 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_model \u89e3\u51b3get_entity_by_id id=0\u62a5\u9519\u7684BUG\n\n### 1.0.93 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_model\n\n### 1.0.92 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539base_model \u66f4\u65b0\u6570\u636e\u5e93\u672a\u5f71\u54cd\u884c\u6570\u65f6\u8fd4\u56deFalse\n\n### 1.0.91 \u66f4\u65b0\u5185\u5bb9\n* DBUtils \u9ad8\u7248\u672c\u5199\u6cd5\u53d8\u66f4,\u4f9d\u8d56\u7248\u672c\u8c03\u6574\n\n### 1.0.90 \u66f4\u65b0\u5185\u5bb9\n* TimeHelper \u589e\u52a0\u65f6\u95f4\u5dee\u96c6\u8ba1\u7b97\n\n### 1.0.89 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316\u4f01\u4e1a\u5fae\u4fe1\u5e2e\u52a9\u7c7b\n\n### 1.0.88 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316\u4f01\u4e1a\u5fae\u4fe1\u5e2e\u52a9\u7c7b\n\n### 1.0.87 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u4f01\u4e1a\u5fae\u4fe1\u5e2e\u52a9\u7c7b\n* \u6dfb\u52a0\u516c\u5171\u7b7e\u540d\u5e2e\u52a9\u7c7b\n* \u517c\u5bb9http post\u8bf7\u6c42\n\n### 1.0.86 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539\u6beb\u79d2\u7ea7\u65f6\u95f4\u6233\n\n### 1.0.85 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u6beb\u79d2\u7ea7\u65f6\u95f4\u6233\n\n### 1.0.84 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dredis db=0\u662f\u5f02\u5e38\u7684bug\n\n### 1.0.83 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dhttp post json\u8bf7\u6c42bug\n\n### 1.0.82 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dredis\u6dfb\u52a0init\u53c2\u6570bug\n\n### 1.0.81 \u66f4\u65b0\u5185\u5bb9\n* Redis\u6dfb\u52a0init\u53c2\u6570,\u53ef\u76f4\u63a5\u6307\u5b9a\u914d\u7f6e\u5b57\u5178\u5373\u53ef\n\n### 1.0.80 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316sha256\u52a0\u5bc6\u65b9\u6cd5\n\n### 1.0.79 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0sha256\u52a0\u5bc6\u65b9\u6cd5\n\n### 1.0.78 \u66f4\u65b0\u5185\u5bb9\n* TimeHelper\u6dfb\u52a0\u66f4\u6539\u683c\u5f0f\u5316\u65f6\u95f4\u683c\u5f0f\u7684\u65b9\u6cd5\n\n### 1.0.77 \u66f4\u65b0\u5185\u5bb9\n* log\u5165\u5e93\u65f6\u95f4\u6233\u683c\u5f0f\u8c03\u6574\n\n### 1.0.75 \u66f4\u65b0\u5185\u5bb9\n* \u4e8b\u52a1\u6dfb\u52a0\u5bfc\u51fasql\u8bed\u53e5\u65b9\u6cd5\n\n### 1.0.74 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316mysql\u4e8b\u52a1\n\n### 1.0.73 \u66f4\u65b0\u5185\u5bb9\n* base_model\u589e\u52a0update_list\u65b9\u6cd5\n\n### 1.0.72 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316DbTransaction \u4e8b\u52a1\u7c7b\n\n### 1.0.71 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316DbTransaction \u4e8b\u52a1\u7c7b\n\n### 1.0.70 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0DbTransaction \u4e8b\u52a1\u7c7b\n\n### 1.0.69 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dbase_model BUG\n\n### 1.0.68 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539\u4f01\u4e1a\u5fae\u4fe1\u901a\u77e5\u6dfb\u52a0\u9879\u76ee\u4ea7\u751f\u7684\u9519\u8bef\n\n### 1.0.67 \u66f4\u65b0\u5185\u5bb9\n* base_model \u589e\u52a0\u4e8b\u52a1\u5904\u7406\n\n### 1.0.66 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u6846\u67b6\u4f9d\u8d56\n\n### 1.0.65 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u6846\u67b6\u4f9d\u8d56\n\n### 1.0.64 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0excel\u5e2e\u52a9\u7c7b\n* \u589e\u52a0\u4e8c\u7ef4\u7801\u5e2e\u52a9\u7c7b\n\n### 1.0.63 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539file->ufile cdn\u524d\u7f00\u95ee\u9898\n\n### 1.0.62 \u66f4\u65b0\u5185\u5bb9\n* base_model \u4fee\u6539page_list\u51fd\u6570\u7684count()\u5b57\u6bb5\n\n### 1.0.61 \u66f4\u65b0\u5185\u5bb9\n* log\u8bb0\u5f55\u6570\u636e\u5e93\u6dfb\u52a0record_time\u5b57\u6bb5\n* base_handler->get_params \u6dfb\u52a0\u662f\u5426\u53bb\u9664\u524d\u540e\u7a7a\u683c\u9009\u586b\u53c2\u6570\n\n### 1.0.60 \u66f4\u65b0\u5185\u5bb9\n* base_model conver_type\u4fee\u6539\n\n### 1.0.59 \u66f4\u65b0\u5185\u5bb9\n* \u4f01\u4e1a\u5fae\u4fe1\u901a\u77e5\u52a0\u9879\u76ee\u540d\u79f0\n\n### 1.0.58 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539host\u5904\u7406\n\n### 1.0.57 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539log\u5199\u5165\u6570\u636e\u5e93\u8f6c\u4e49\u95ee\u9898\n\n### 1.0.56 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_model \u5206\u9875\u51fd\u6570\n\n### 1.0.55 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316\u5168\u5c40\u5f02\u5e38\u62a5\u9519\u5904\u7406\n\n### 1.0.54 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316mysql\u8fde\u63a5\n\n### 1.0.53 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0DBUtils\u4f9d\u8d56\n\n### 1.0.52 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316mysqlhelper \u8fde\u63a5\u6c60\n* basemodel\u914d\u5408mysql\u4fee\u6539\n\n### 1.0.51 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u6539urlencode bug\n\n### 1.0.50 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316log\u6dfb\u52a0\u6570\u636e\u5e93\u8bb0\u5f55\n\n### 1.0.49 \u66f4\u65b0\u5185\u5bb9\n* log\u6dfb\u52a0\u6570\u636e\u5e93\u8bb0\u5f55\n* ufile.py \u6539\u540d\u4e3a file.py\n* file.py \u6dfb\u52a0ufile \u4e0b\u8f7d\u6587\u4ef6\u65b9\u6cd5\n\n### 1.0.48 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316filter_check_params\n\n### 1.0.47 \u66f4\u65b0\u5185\u5bb9\n* JsonEncoder \u652f\u6301decimal\u7c7b\u578b\n\n### 1.0.46 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dufile bug\n\n### 1.0.45 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dufile\u5305\u540d\u51b2\u7a81\u7684\u95ee\u9898\n\n### 1.0.44 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0ufile\u5c01\u88c5\n\n### 1.0.43 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590d\u4f01\u4e1a\u5fae\u4fe1\u901a\u77e5bug\n* \u4fee\u6539prepare\u7684http\u8bf7\u6c42\u4fe1\u606f\u652f\u6301json\u53c2\u6570\n\n### 1.0.42 \u66f4\u65b0\u5185\u5bb9\n* @filter_check_params\u652f\u6301\u63a5\u6536json\u4f20\u53c2\n\n### 1.0.41 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0testing\u73af\u5883\u914d\u7f6e\n\n### 1.0.40 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590d\u5df2\u77e5BUG\n\n### 1.0.39 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u4f01\u4e1a\u5fae\u4fe1\u62a5\u8b66(notice.py)\n* \u4fee\u6539base_handler\u5185filter_check_params\u88c5\u9970\u5668\u65e0\u9700\u8f93\u5165\u53ef\u9009\u53c2\u6570\n\n### 1.0.38 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590d\u5f15\u7528\n\n### 1.0.37 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590djson bytes\u8f6c\u7801BUG\n* base_handler \u6dfb\u52a0body\u53c2\u6570\u8f6cdict\u51fd\u6570\n\n### 1.0.36 \u66f4\u65b0\u5185\u5bb9\n* \u4fee\u590dhttp\u8bf7\u6c42\u63a7\u5236\u53f0\u65e5\u5fd7bug\n\n### 1.0.35 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0http\u8bf7\u6c42\u63a7\u5236\u53f0\u65e5\u5fd7\n\n### 1.0.33 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0base_tornado\n\n### 1.0.31 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0coding\u5e2e\u52a9\u7c7b\n\n### 1.0.30 \u66f4\u65b0\u5185\u5bb9\n* \u6dfb\u52a0\u4f9d\u8d56\u6e90\n\n### 1.0.29 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_model \u589e\u52a0seven_framework\u67b6\u5f15\u7528\n\n### 1.0.27 \u66f4\u65b0\u5185\u5bb9\n* \u589e\u52a0\u63a7\u5236\u53f0\u57fa\u7840\u5f15\u7528 base_console\n\n### 1.0.26 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316CryptoHelper \u7f16\u7801\u95ee\u9898\n* \u589e\u52a0CryptoHelper \u9488\u5bf9bytes\u7684md5\u52a0\u5bc6\n* \u4f18\u5316BaseHandler body\u8f6c\u5b9e\u4f53\u65b9\u6cd5\n\n### 1.0.25 \u66f4\u65b0\u5185\u5bb9\n* CryptoHelper\u589e\u52a0sha1\u52a0\u5bc6\n\n### 1.0.24 \u66f4\u65b0\u5185\u5bb9\n* base_handler\u589e\u52a0request_body_to_entity\u65b9\u6cd5\n\n### 1.0.23 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_handler get_param \u7a7a\u503c\u4e5f\u8fd4\u56de\u9ed8\u8ba4\u503c\n\n### 1.0.22 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316base_handler filter_check_params \u88c5\u9970\u5668,\u5141\u8bb8\u4e0d\u68c0\u67e5\u5fc5\u586b\u53c2\u6570\n\n### 1.0.20 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316MysqlHelper\n\n### 1.0.19 \u66f4\u65b0\u5185\u5bb9\n* \u5c06MysqlHelper \u7684condition\u53c2\u6570 \u62c6\u5f00\u4e3a where/group_by/order_by/limit \u53c2\u6570\n* \u5c06MysqlHelper\u53cabase_model \u589e\u52a0\u4e8b\u52a1\u6267\u884c\u51fd\u6570transaction_execute\n\n### 1.0.18 \u66f4\u65b0\u5185\u5bb9\n* \u89e3\u51b3base_api_handler\u7684\u521d\u59cb\u5316bug\n\n### 1.0.17 \u66f4\u65b0\u5185\u5bb9\n* \u4f18\u5316\u6846\u67b6\u7ed3\u6784\n* \u4fee\u6539CryptoHelper \u7684 AES\u52a0\u89e3\u5bc6\u65b9\u6cd5\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "seven framework",
    "version": "1.2.11",
    "project_urls": {
        "Homepage": "http://gitlab.tdtech.gao7.com/python/seven_framework"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7ed1d44d3a85ecb56555d914c1e2d0ffef689ea0d9e42d147bae189557144ef2",
                "md5": "5ca67b1dadf9b6f3a4df45adab3393b8",
                "sha256": "6f22bae1f407caf15b5eac9209817a8a1865033f00c5508e8963e2cdfdbf243f"
            },
            "downloads": -1,
            "filename": "seven_framework-1.2.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5ca67b1dadf9b6f3a4df45adab3393b8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.4",
            "size": 81651,
            "upload_time": "2024-10-11T11:37:18",
            "upload_time_iso_8601": "2024-10-11T11:37:18.541799Z",
            "url": "https://files.pythonhosted.org/packages/7e/d1/d44d3a85ecb56555d914c1e2d0ffef689ea0d9e42d147bae189557144ef2/seven_framework-1.2.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f098849285c1dea6ed6802ecc46b027c73c737b75c70547df4db8dd8fc36edca",
                "md5": "a5ad3f15dcb3bc906be4f580ace81038",
                "sha256": "e408b48c74146bcdde1d9ebbfbaa1cfba3d50eb38200c013f01df2a682d946e7"
            },
            "downloads": -1,
            "filename": "seven_framework-1.2.11.tar.gz",
            "has_sig": false,
            "md5_digest": "a5ad3f15dcb3bc906be4f580ace81038",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.4",
            "size": 71392,
            "upload_time": "2024-10-11T11:37:20",
            "upload_time_iso_8601": "2024-10-11T11:37:20.919190Z",
            "url": "https://files.pythonhosted.org/packages/f0/98/849285c1dea6ed6802ecc46b027c73c737b75c70547df4db8dd8fc36edca/seven_framework-1.2.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-11 11:37:20",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "seven-framework"
}
        
Elapsed time: 0.35897s