Ejemplo n.º 1
0
def create_authority(name, description, url):
	"""Instantiates, initialises & returns a term authority.

	"""
	# Validate inputs.
	v.validate_authority_name(name)
	v.validate_authority_description(description)
	v.validate_authority_url(url)

	# Format inputs.
	name = unicode(name).strip()
	description = unicode(description).strip()
	url = unicode(url).strip()

	# Instantiate.
	i = Authority()
	i.description = description
	i.label = name
	i.name = name.lower()
	i.url = url

	# Raise validation exception (if appropriate).
	if not i.is_valid:
		raise ValidationError(i.errors)

	return i
Ejemplo n.º 2
0
def _decode_authority(obj):
    """Decodes a termset from a dictionary.

    """
    instance = Authority()
    instance.description = obj['description']
    instance.label = obj['label']
    instance.name = obj['name']
    instance.scopes = [_decode_scope(i) if isinstance(i, dict) else i
                       for i in obj['scopes']]
    instance.url = obj['url']

    # Wire hierarchy.
    for scope in instance:
        if isinstance(scope, Scope):
            scope.authority = instance

    return instance