Skip to main content

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)

Table of built distributions (wheels) for jimit 6.10.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

6.10.1 This release

1 release file

6.10.0

1 release file

6.9.3

1 release file

6.9.2

1 release file

6.9.1

1 release file

6.9.0

1 release file

6.8.1

1 release file

6.8.0

1 release file

6.6.1

1 release file

6.6.0

1 release file

6.3.0

1 release file

6.2.0

1 release file

6.1.0

1 release file

6.0.0

1 release file

3.10.0

1 release file

3.9.6

1 release file

3.9.5

1 release file

3.9.4

1 release file

3.9.3

1 release file

3.9.2

1 release file

3.9.1

1 release file

3.9.0

1 release file

3.8.13

1 release file

3.8.12

1 release file

3.8.11

1 release file

3.8.10

1 release file

3.8.9

1 release file

3.8.8

1 release file

3.8.7

1 release file

3.8.6

1 release file

3.8.5

1 release file

3.8.4

1 release file

3.8.3

1 release file

3.8.2

1 release file

3.8.1

1 release file

3.8.0

1 release file

3.7.0

1 release file

3.6.2

1 release file

3.6.1

1 release file

3.6

1 release file

3.5

1 release file

3.4

1 release file

3.3

1 release file

3.2

1 release file

3.1

1 release file

0.63

1 release file

0.62

1 release file

0.61

1 release file

0.60

1 release file

0.59

1 release file

0.58

1 release file

0.57

1 release file

0.56

1 release file

0.55

1 release file

0.54

1 release file

0.53

1 release file

0.52

1 release file

0.51

1 release file

0.50

1 release file

0.49

1 release file

0.48

1 release file

0.47

1 release file

0.46

1 release file

0.45

1 release file

0.44

1 release file

0.43

1 release file

0.42

1 release file

0.41

1 release file

0.40

1 release file

0.39

1 release file

0.38

1 release file

0.37

1 release file

0.36

1 release file

0.35

1 release file

0.34

1 release file

0.33

1 release file

0.32

1 release file

0.31

1 release file

0.30

1 release file

0.29

1 release file

0.28

1 release file

0.27

1 release file

0.26

1 release file

0.25

1 release file

0.24

1 release file

0.23

1 release file

0.22

1 release file

0.21

1 release file

0.20

1 release file

0.19

1 release file

0.18

1 release file

0.17

1 release file

0.16

1 release file

0.15

1 release file

0.14

1 release file

0.13

1 release file

0.12

1 release file

0.11

1 release file

0.10

1 release file

0.9

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page