コード例 #1
0
def _decode_scope(obj):
    """Decodes a termset from a dictionary.

    """
    instance = Scope()
    instance.collections = [_decode_collection(i) if isinstance(i, dict) else i
                            for i in obj['collections']]
    instance.description = obj['description']
    instance.idx = obj['idx']
    instance.label = obj['label']
    instance.name = obj['name']
    instance.uid = uuid.UUID(unicode(obj['uid']))
    instance.url = obj['url']

    # Wire hierarchy.
    for collection in instance:
        if isinstance(collection, Collection):
            collection.scope = instance

    return instance