def get_source_url(obj):
    """Get the source url for a Trust object.

    Args:
        obj (ChainOfTrust or LinkOfTrust): the trust object to inspect

    Raises:
        CoTError: if repo and source are defined and don't match

    Returns:
        str: the source url.

    """
    source_env_prefix = obj.context.config['source_env_prefix']
    task = obj.task
    log.debug("Getting source url for {} {}...".format(obj.name, obj.task_id))
    repo = get_repo(obj.task, source_env_prefix=source_env_prefix)
    source = task['metadata']['source']
    if repo and not verify_repo_matches_url(repo, source):
        raise CoTError("{name} {task_id}: {source_env_prefix} {repo} doesn't match source {source}!".format(
            name=obj.name, task_id=obj.task_id, source_env_prefix=source_env_prefix, repo=repo, source=source
        ))
    log.info("{} {}: found {}".format(obj.name, obj.task_id, source))
    return source
def get_source_url ( obj ) : source_env_prefix = obj . context . config [ 'source_env_prefix' ] task = obj . task log . debug ( "Getting source url for {} {}..." . format ( obj . name , obj . task_id ) ) repo = get_repo ( obj . task , source_env_prefix = source_env_prefix ) source = task [ 'metadata' ] [ 'source' ] if repo and not verify_repo_matches_url ( repo , source ) : raise CoTError ( "{name} {task_id}: {source_env_prefix} {repo} doesn't match source {source}!" . format ( name = obj . name , task_id = obj . task_id , source_env_prefix = source_env_prefix , repo = repo , source = source ) ) log . info ( "{} {}: found {}" . format ( obj . name , obj . task_id , source ) ) return source
Get the source url for a Trust object.

    Args:
        obj (ChainOfTrust or LinkOfTrust): the trust object to inspect

    Raises:
        CoTError: if repo and source are defined and don't match

    Returns:
        str: the source url.