jsend的python模块
项目描述
# 它是什么?
一个带有简化和修改的 python jsend 模块。
# 注意:
python版本:>=3.5
(对于python2.7版本,使用jsend_version <0.9,例如:https://github.com/darkdarkfruit/jsend/releases/tag/v_0.7.1)#JSEND
MODIFIED DRAFT
##原创jsend 链接:
[https://labs.omniti.com/labs/jsend](https://labs.omniti.com/labs/jsend)
## 修改内容:
### 字段:
|------ --+--------+----------+----------+---------------- ---------------------------------------|
| 领域 | 类型 | 必填 | 可选 | 含义 |
|--------+--------+----------+----------+--------- ----------------------------------------------|
| 状态 | 字符串 | * (S/F) | | 响应成功了吗?|
| 代码 | 任何| | * | 应用程序逻辑代码(通常为整数) |
| 数据 | 任何| | * | 响应的数据(有效负载) |
| 描述 | 任何| | * | 描述:通常是帮助信息 |
| 元 | 任何| | * | 例如:分布式环境中的服务器/ips 链。|
| | | | | |
|--------+--------+----------+----------+--------- ----------------------------------------------|
* 字段:状态始终处于状态:“S”或“F”(代表“成功”、“失败”),没有第 3 种状态。
* 原始状态:('success', 'fail', 'error')
区分失败或错误太痛苦了,所以 2 个状态("S", "F") 就足够了。
* (-) 删除了原始的“消息”字段,因为它是模糊的。(完整的消息?帮助文本?)
* (+) 添加字段:desc 来描述此消息。(该字段是可选的)
* (+) Add field:meta 添加一些元信息。(例如:网络链,节点名称,代理信息,...)
# 安装:
下载 tarbal,解压,然后运行“python setup.py install”
#测试:
> pip3 install pytest
> whereis pytest
> pytest: /usr/local/bin/pytest
> pytest --version
> 这是 pytest 版本 3.3.2 , 从 /usr/local/lib/python3.6/site-packages/pytest.py
>>
pytest jsend/导入
* 很简单:只需要使用 1 个类和 2 个函数。
* 1 类:消息
* 2 函数:make_successful_message、make_failed_message
* 用法:(示例)
Python 3.6.2(默认,2017 年 8 月 10 日,10:07:10)
键入“版权”、“信用”或“许可”以获取更多信息
IPython 6.1.0——增强的交互式 Python。类型 '?' 求助。
在 [1]:导入 jsend
...:
在 [2]:jsend.__version__
...:
Out[2]:'0.9'
在 [3]:msg = jsend.make_successful_message(code=0, data={' payload' : 'yes'})
...:
In [4]: msg
Out[4]:
{'code': 0,
'data': {'payload': 'yes'},
'desc': None,
'meta': 无,
'status': 'S'}
在 [5]: msg.dumps()
Out[5]: '{"status": "S", "code": 0, "data": { “有效载荷”:“是”},“描述”:空,“
在 [7] 中:msg_failed = jsend.make_failed_message()
...:
在 [8] 中:msg_failed
Out[8]:{'code':无,'data':无,'desc':无,'meta':无,'status': 'F'}
In [9]: msg_failed.dumps()
Out[9]: '{"status": "F", "code": null, "data": null, "desc" : null, "meta": null}'
In [10]: msg_failed.dumps(skip_none=True)
Out[10]: '{"status": "F"}'
In [11]: msg_loaded = jsend.Message。 load(msg.dumps())
...:
In [12]: msg_loaded
Out[12]:
{'code': 0,
'data': {'payload': 'yes'},
'desc':无,
'meta':无,
'status':'S'}
在 [13] 中:msg_loaded.data = 0
在 [14] 中:msg_loaded = jsend.Message.loads(msg.dumps())
...:
在 [15] 中:msg_loaded
Out[15]:
{'code': 0,
'data': {'payload': 'yes'},
'desc': 无,
'meta': 无,
'status': 'S'}
In [16]: msg_loaded.dumps()
Out[16]: '{"status": "S", "code": 0, "data": {"payload": "yes"}, "desc": null, "meta": null}'
In [17]: msg_loaded.dumps(skip_none=True)
Out[17] : '{"status": "S", "code": 0, "data": {"payload": "yes"}}'
在 [18] 中:
一个带有简化和修改的 python jsend 模块。
# 注意:
python版本:>=3.5
(对于python2.7版本,使用jsend_version <0.9,例如:https://github.com/darkdarkfruit/jsend/releases/tag/v_0.7.1)#JSEND
MODIFIED DRAFT
##原创jsend 链接:
[https://labs.omniti.com/labs/jsend](https://labs.omniti.com/labs/jsend)
## 修改内容:
### 字段:
|------ --+--------+----------+----------+---------------- ---------------------------------------|
| 领域 | 类型 | 必填 | 可选 | 含义 |
|--------+--------+----------+----------+--------- ----------------------------------------------|
| 状态 | 字符串 | * (S/F) | | 响应成功了吗?|
| 代码 | 任何| | * | 应用程序逻辑代码(通常为整数) |
| 数据 | 任何| | * | 响应的数据(有效负载) |
| 描述 | 任何| | * | 描述:通常是帮助信息 |
| 元 | 任何| | * | 例如:分布式环境中的服务器/ips 链。|
| | | | | |
|--------+--------+----------+----------+--------- ----------------------------------------------|
* 字段:状态始终处于状态:“S”或“F”(代表“成功”、“失败”),没有第 3 种状态。
* 原始状态:('success', 'fail', 'error')
区分失败或错误太痛苦了,所以 2 个状态("S", "F") 就足够了。
* (-) 删除了原始的“消息”字段,因为它是模糊的。(完整的消息?帮助文本?)
* (+) 添加字段:desc 来描述此消息。(该字段是可选的)
* (+) Add field:meta 添加一些元信息。(例如:网络链,节点名称,代理信息,...)
# 安装:
下载 tarbal,解压,然后运行“python setup.py install”
#测试:
> pip3 install pytest
> whereis pytest
> pytest: /usr/local/bin/pytest
> pytest --version
> 这是 pytest 版本 3.3.2 , 从 /usr/local/lib/python3.6/site-packages/pytest.py
>>
pytest jsend/导入
* 很简单:只需要使用 1 个类和 2 个函数。
* 1 类:消息
* 2 函数:make_successful_message、make_failed_message
* 用法:(示例)
Python 3.6.2(默认,2017 年 8 月 10 日,10:07:10)
键入“版权”、“信用”或“许可”以获取更多信息
IPython 6.1.0——增强的交互式 Python。类型 '?' 求助。
在 [1]:导入 jsend
...:
在 [2]:jsend.__version__
...:
Out[2]:'0.9'
在 [3]:msg = jsend.make_successful_message(code=0, data={' payload' : 'yes'})
...:
In [4]: msg
Out[4]:
{'code': 0,
'data': {'payload': 'yes'},
'desc': None,
'meta': 无,
'status': 'S'}
在 [5]: msg.dumps()
Out[5]: '{"status": "S", "code": 0, "data": { “有效载荷”:“是”},“描述”:空,“
在 [7] 中:msg_failed = jsend.make_failed_message()
...:
在 [8] 中:msg_failed
Out[8]:{'code':无,'data':无,'desc':无,'meta':无,'status': 'F'}
In [9]: msg_failed.dumps()
Out[9]: '{"status": "F", "code": null, "data": null, "desc" : null, "meta": null}'
In [10]: msg_failed.dumps(skip_none=True)
Out[10]: '{"status": "F"}'
In [11]: msg_loaded = jsend.Message。 load(msg.dumps())
...:
In [12]: msg_loaded
Out[12]:
{'code': 0,
'data': {'payload': 'yes'},
'desc':无,
'meta':无,
'status':'S'}
在 [13] 中:msg_loaded.data = 0
在 [14] 中:msg_loaded = jsend.Message.loads(msg.dumps())
...:
在 [15] 中:msg_loaded
Out[15]:
{'code': 0,
'data': {'payload': 'yes'},
'desc': 无,
'meta': 无,
'status': 'S'}
In [16]: msg_loaded.dumps()
Out[16]: '{"status": "S", "code": 0, "data": {"payload": "yes"}, "desc": null, "meta": null}'
In [17]: msg_loaded.dumps(skip_none=True)
Out[17] : '{"status": "S", "code": 0, "data": {"payload": "yes"}}'
在 [18] 中: