def xml_find_single_tag (root, tag_name, required=True):
    """
    Fetch an XML tag from XML.

    :param root: XML to utilize
    :param tag_name: Name of tag to fetch
    :param key: A boolean indicating whether tag is required for a valid manifest XML

    :return Tag if found
    """

    tag = root.findall (tag_name)
    if not tag:
        if required:
            print ("Missing {0} tag in manifest".format (tag_name))
        return None
    elif len (tag) > 1:
        print ("Too many {0} tags in manifest".format (tag_name))
        return None

    return tag[0]