Commit 37b1efd7 authored by Anael Beutot's avatar Anael Beutot
Browse files

Updated get_tags function for new API.

parent 9f575681
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -135,29 +135,23 @@ def refresh(value):
    return decorator


def get_tags(tags_dict, tags=None, noresolve_tags=None):
def get_tags(tags_dict, tags=None):
    """Helper to get tags.

    :param tags_dict: dict containing :class:`Tag` objects
    :param tags: list of tags to get (None mean all tags)
    :param noresolve_tags: list of tags to exclude from result
    """
    logger.debug('Tags request: %s, %s', unicode(tags), unicode(noresolve_tags))

    tags = set(tags) - set(noresolve_tags) if tags is not None else None
    logger.debug('Tags request: %s', unicode(tags))

    if tags is None:
        tags = tags_dict.iterkeys()
    else:
        tags = tags & set(tags_dict)
        tags = set(tags) & set(tags_dict)

    profile = time.time()
    result = dict((
        t,  # tag name
        dict(
            value=tags_dict[t].value,
            ttl=tags_dict[t].ttl,
        ),
        tags_dict[t].value,
    ) for t in tags)

    logger.debug('Profiling: %f seconds', time.time() - profile)