def update_lipd_version(L):
    """
    Metadata is indexed by number at this step.

    Use the current version number to determine where to start updating from. Use "chain versioning" to make it
    modular. If a file is a few versions behind, convert to EACH version until reaching current. If a file is one
    version behind, it will only convert once to the newest.
    :param dict L: Metadata
    :return dict d: Metadata
    """
    # Get the lipd version number.
    L, version = get_lipd_version(L)

    # Update from (N/A or 1.0) to 1.1
    if version in [1.0, "1.0"]:
        L = update_lipd_v1_1(L)
        version = 1.1

    # Update from 1.1 to 1.2
    if version in [1.1, "1.1"]:
        L = update_lipd_v1_2(L)
        version = 1.2
    if version in [1.2, "1.2"]:
        L = update_lipd_v1_3(L)
        version = 1.3

    L = fix_doi(L)
    L["lipdVersion"] = 1.3
    return L
def update_lipd_version ( L ) : L , version = get_lipd_version ( L ) if version in [ 1.0 , "1.0" ] : L = update_lipd_v1_1 ( L ) version = 1.1 if version in [ 1.1 , "1.1" ] : L = update_lipd_v1_2 ( L ) version = 1.2 if version in [ 1.2 , "1.2" ] : L = update_lipd_v1_3 ( L ) version = 1.3 L = fix_doi ( L ) L [ "lipdVersion" ] = 1.3 return L
Metadata is indexed by number at this step.

    Use the current version number to determine where to start updating from. Use "chain versioning" to make it
    modular. If a file is a few versions behind, convert to EACH version until reaching current. If a file is one
    version behind, it will only convert once to the newest.
    :param dict L: Metadata
    :return dict d: Metadata