基于遍历的金字塔应用辅助库
TraversalKit的Python项目详细描述
该库提供了一些工具来为使用 穿越路线。它已经被开发用于Pyramidweb 但是,它不依赖于应用程序框架,可以使用 在任何应用程序中。
它有助于以简单的声明方式实现资源树层次结构:
>>> fromtraversalkitimportResource,DEC_ID>>> classRoot(Resource):... """ Tree root """>>> @Root.mount('users')... classUsers(Resource):... """ Users collection """>>> @Users.mount_set(DEC_ID,metaname='user_id')... classUser(Resource):... """ User resource """>>> @Root.mount('posts')... @User.mount('posts')... classPosts(Resource):... """ Posts collection """>>> @Posts.mount_set(DEC_ID,metaname='post_id')... classPost(Resource):... """ Post resource """>>> forrouteinRoot.routes():... print(route)<Route: /> <Route: /posts/> <Route: /posts/{post_id}/> <Route: /users/> <Route: /users/{user_id}/> <Route: /users/{user_id}/posts/> <Route: /users/{user_id}/posts/{post_id}/>
这些资源符合Pyramid traversal接口和 Pyramid location awareness接口。
>>> root=Root()>>> user=root['users']['1']>>> user<User: /users/1/> >>> user.__name__'1' >>> user.__parent__<Users: /users/> >>> user['posts']<Posts: /users/1/posts/> >>> user['documents']# DOCTEST: +ellipsisTraceback (most recent call last): ...KeyError: ('documents', '/users/1/')
0.3.1
- 修正了README.rst和CHANGES.rst的输入错误。
0.3
- 添加了对条件路由的支持。
- 通过Resource.routes()添加了对资源树内省的支持。
- 将资源uri添加到引发错误中以使其更具信息性。
- 添加了对可分离资源缓存的支持。
0.2
- 添加了方法Resource.get()。
0.1
初次发布。