James Iter’s library by python
添加自定义状态码示例
枝叶状态码合并
import jimit as ji
own_state_branch = {
'41250': {
'code': '41250',
'zh-cn': '账密不匹配'
}
}
ji.state_code.index_state['branch'] = dict(ji.state_code.index_state['branch'], **own_state_branch)
print json.dumps(ji.Commons.exchange_state(41250), ensure_ascii=False)
{
"code": "412",
"zh-cn": "先决条件失败",
"en-us": "Precondition Failed",
"sub": {
"zh-cn": "账密不匹配",
"code": "41250"
}
}
自定义状态码建议
基于各主干的枝叶状态码从50开始,如412主干,则用户自定义枝叶状态码由41250起。
路由器示例
from jimit.router import Router, router_table
from jimit.ji_time import JITime
import unittest
reload(sys)
sys.setdefaultencoding('utf8')
'''
首先配置路由表
'''
router_table['today'] = JITime.today
'''
:param action: 目标路由地址
:param content: 传给目标的参数内容(content可以是一个字典,这样对于给目标传参更为灵活;示例: {'name': 'James', 'gender': 'M'})
'''
print Router.launcher(action='today', content='-')
类型判断示例
参数说明
args_rules = [
(类型[int|long|str|basestring|list|dict...](必须), 变量名(必须), 取值范围(可选), 必须存在(可选,默认为True))
]
取值范围: 列表为枚举['male', 'female', 'other'], 元组为起止范围(10, 100)
必须存在: 布尔值,默认为True, 当该值为True时,则表示该变量必须存在; 否则,仅当该变量存在时,才匹配该条策略
args = {
'变量名': 变量值
}
try:
ji.Check.previewing(args_rules, args)
except ji.PreviewingError, e:
ret = json.loads(e.message)
异常处理域
示例1
状态码200为正常,其它都为异常
详细描述在ret['state']['sub']中
异常会于PreviewingError类型抛出,可通过json.loads(e.message)来结构化异常描述
更多异常用法请移步参考:
https://github.com/jamesiter/jimitlib-py/blob/master/tests/test_check.py
import jimit as ji
form_rules = [
(int, 'k', (10, 100))
]
form = {
'k': 10
}
assert '200' == ji.Check.previewing(form_rules, form)['state']['code'])
示例2
form_rules = [
(str, 'k')
]
form = {
'k': 123
}
try:
ji.Check.previewing(form_rules, form)
except ji.PreviewingError, e:
ret = json.loads(e.message)
assert '41202' == ret['state']['sub']['code']
Metadata
Release files for jimit 6.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jimit-6.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / jimit-6.10.1-py3-none-any.whl
| Download URL | jimit-6.10.1-py3-none-any.whl |
|---|---|
| Size | 55.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6650dfcebf3d3a3e91557505edebf400cb75ce401df49092b3b876362c106ba
|
|
BLAKE2b-256 checksum How to use checksums |
3076ca2ae799e489049bc683e6783fbaccaece4861a7192a1cbced873b676208
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|