pyramid.location

lineage(resource)[源代码]

返回表示 lineageresource 对象所隐含的 resource 争论。发电机首先返回 resource 无条件地。然后,如果 resource 供应A __parent__ 属性,返回由表示的资源 resource.__parent__ . 如果 that 资源有 __parent__ 属性,返回该资源的父级,依此类推,直到被检查的资源没有 __parent__ 属性或具有 __parent__ 属性 None . 例如,如果资源树是:

thing1 = Thing()
thing2 = Thing()
thing2.__parent__ = thing1

调用 lineage(thing2) 将返回发电机。当我们把它变成一个列表时,我们会得到:

list(lineage(thing2))
[ <Thing object at thing2>, <Thing object at thing1> ]
inside(resource1, resource2)[源代码]

resource1 “内” resource2 ?返回 True 如果是这样,其他 False .

resource1 是“在里面” resource2 如果 resource2 是一个 lineage 祖先 resource1 . 如果它的父母(或它的父母之一等)是祖先,它就是世系祖先。