docx2html/core.py
def get_numbering_info(tree):
    """
    There is a separate file called numbering.xml that stores how lists should
    look (unordered, digits, lower case letters, etc.). Parse that file and
    return a dictionary of what each combination should be based on list Id and
    level of indentation.
    """
    if tree is None:
        return {}
    w_namespace = get_namespace(tree, 'w')
    num_ids = {}
    result = defaultdict(dict)
    # First find all the list types
    for list_type in tree.findall('%snum' % w_namespace):
        list_id = list_type.get('%snumId' % w_namespace)

        # Each list type is assigned an abstractNumber that defines how lists
        # should look.
        abstract_number = list_type.find('%sabstractNumId' % w_namespace)
        num_ids[abstract_number.get('%sval' % w_namespace)] = list_id

    # Loop through all the abstractNumbers
    for abstract_number in tree.findall('%sabstractNum' % w_namespace):
        abstract_num_id = abstract_number.get('%sabstractNumId' % w_namespace)
        # If we find an abstractNumber that is not being used in the document
        # then ignore it.
        if abstract_num_id not in num_ids:
            continue

        # Get the level of the abstract number.
        for lvl in abstract_number.findall('%slvl' % w_namespace):
            ilvl = int(lvl.get('%silvl' % w_namespace))
            lvl_format = lvl.find('%snumFmt' % w_namespace)
            list_style = lvl_format.get('%sval' % w_namespace)
            # Based on the list type and the ilvl (indentation level) store the
            # needed style.
            result[num_ids[abstract_num_id]][ilvl] = list_style
    return result
def get_numbering_info(tree):
    """
    There is a separate file called numbering.xml that stores how lists should
    look (unordered, digits, lower case letters, etc.). Parse that file and
    return a dictionary of what each combination should be based on list Id and
    level of indentation.
    """
    if tree is None:
        return {}
    w_namespace = get_namespace(tree, 'w')
    num_ids = {}
    result = defaultdict(dict)
    # First find all the list types
    for list_type in tree.findall('%snum' % w_namespace):
        list_id = list_type.get('%snumId' % w_namespace)

        # Each list type is assigned an abstractNumber that defines how lists
        # should look.
        abstract_number = list_type.find('%sabstractNumId' % w_namespace)
        num_ids[abstract_number.get('%sval' % w_namespace)] = list_id

    # Loop through all the abstractNumbers
    for abstract_number in tree.findall('%sabstractNum' % w_namespace):
        abstract_num_id = abstract_number.get('%sabstractNumId' % w_namespace)
        # If we find an abstractNumber that is not being used in the document
        # then ignore it.
        if abstract_num_id not in num_ids:
            continue

        # Get the level of the abstract number.
        for lvl in abstract_number.findall('%slvl' % w_namespace):
            ilvl = int(lvl.get('%silvl' % w_namespace))
            lvl_format = lvl.find('%snumFmt' % w_namespace)
            list_style = lvl_format.get('%sval' % w_namespace)
            # Based on the list type and the ilvl (indentation level) store the
            # needed style.
            result[num_ids[abstract_num_id]][ilvl] = list_style
    return result
def get_numbering_info ( tree ) : if tree is None : return { } w_namespace = get_namespace ( tree , 'w' ) num_ids = { } result = defaultdict ( dict ) # First find all the list types for list_type in tree . findall ( '%snum' % w_namespace ) : list_id = list_type . get ( '%snumId' % w_namespace ) # Each list type is assigned an abstractNumber that defines how lists # should look. abstract_number = list_type . find ( '%sabstractNumId' % w_namespace ) num_ids [ abstract_number . get ( '%sval' % w_namespace ) ] = list_id # Loop through all the abstractNumbers for abstract_number in tree . findall ( '%sabstractNum' % w_namespace ) : abstract_num_id = abstract_number . get ( '%sabstractNumId' % w_namespace ) # If we find an abstractNumber that is not being used in the document # then ignore it. if abstract_num_id not in num_ids : continue # Get the level of the abstract number. for lvl in abstract_number . findall ( '%slvl' % w_namespace ) : ilvl = int ( lvl . get ( '%silvl' % w_namespace ) ) lvl_format = lvl . find ( '%snumFmt' % w_namespace ) list_style = lvl_format . get ( '%sval' % w_namespace ) # Based on the list type and the ilvl (indentation level) store the # needed style. result [ num_ids [ abstract_num_id ] ] [ ilvl ] = list_style return result
There is a separate file called numbering.xml that stores how lists should
    look (unordered, digits, lower case letters, etc.). Parse that file and
    return a dictionary of what each combination should be based on list Id and
    level of indentation.
There is a separate file called numbering . xml that stores how lists should look ( unordered digits lower case letters etc . ) . Parse that file and return a dictionary of what each combination should be based on list Id and level of indentation .