'Transforms a version expressed in tuple into its string
representation.'

@classmethod
def parts_to_str(cls, parts):

    (main, prerel, postdev) = parts
    s = '.'.join((str(v) for v in main))
    if (prerel is not FINAL_MARKER):
        s += prerel[0]
        s += '.'.join((str(v) for v in prerel[1:]))
    if (postdev and (postdev is not FINAL_MARKER)):
        if (postdev[0] == 'f'):
            postdev = postdev[1:]
        i = 0
        while (i < len(postdev)):
            if ((i % 2) == 0):
                s += '.'
            s += str(postdev[i])
            i += 1
    return s
