递归属性工具。
shackles的Python项目详细描述
访问和检查绑定到对象的属性。 镣铐是麻省理工学院授权的。
安装
要安装configit,只需:
$ pip install shackles
API文档
- 卸扣断裂(obj,链条)
返回对象的第一个缺少命名属性的名称。
如果链没有断开(所有属性都在链中表示) 什么都不退还。
# obj.a.b.e assert shackles.broken(obj, 'a.b.c') == 'c'
- 卸扣.get(obj,chain[,默认])
对象链中最终命名属性的返回值。
<如果命名属性不存在, 如果提供,则返回默认值,否则将引发attributeerror。
# obj.a.b assert shackles.get(obj, 'a.b.c', 5) == 5 # obj.a.b.c = 6 assert shackles.get(obj, 'a.b.c', 5) == 6
- 钩环。has(obj,链条) < De>返回^ {EM1}$true
# obj.a.b.c assert shackles.has(obj, 'a.b.c']) == True
- 卸扣。行走(obj,链条)
通过从对象遍历链中的命名属性来生成链中属性的值。
如果命名属性不存在, 如果提供,则返回默认值,否则将引发attributeerror。
# a = obj; b = obj; c = obj # a.name = 'a'; b.name = 'b'; c.name = 'c' # a.b = b; b.c = c assert next(shackles.walk(a, 'b.c')).name == 'b'
有关更多示例,请参阅包含的测试。
贡献
在github上分叉the repository,开始对development分支(或其分支)进行更改。
通过运行:
$ python setup.py develop
编写一个测试,显示错误已修复或功能按预期工作。
发送一个pull请求并对维护程序进行bug操作,直到它被合并并发布。:)确保将自己添加到AUTHORS。