def get_tag()

in src/simplify_docx/utils/tag.py [0:0]


def get_tag(element:xmlFragment,nsdict=None) -> Tag:
    """
    Extract parts of the tag (this is essentially the reverse of `qn()`)
    """
    ns_names:Dict[str,str]
    if nsdict is None:
        ns_names = NS_NAMES
    else:
        ns_names = dict(zip(nsdict.values(), nsdict.keys()))
    match = _re_tag.match(element.tag)
    if match is None:
        return Tag(None,None,element.tag,element.tag)
    groups:Sequence[str] = match.groups()
    namespace:str = groups[0]
    tag:str = groups[1]
    if namespace in ns_names:
        ns:str = ns_names[namespace]
        return Tag(namespace,ns,tag,"%s:%s"%(ns,tag))
    return Tag(namespace,None,tag,element.tag)