def filenames_to_uniq(names, new_delim='.'):
    name_words = []
    maxlen = 0
    for name in names:
        name_words.append(name.replace('.', ' ').replace('-', ' ').strip().split())
        name_words[-1].reverse()
        if len(name_words[-1]) > maxlen:
            maxlen = len(name_words[-1])

    common = [False, ] * maxlen
    for i in xrange(maxlen):
        last = None
        same = True
        for nameword in name_words:
            if i >= len(nameword):
                same = False
                break
            if not last:
                last = nameword[i]
            elif nameword[i] != last:
                same = False
                break
        common[i] = same

    newnames = []
    for nameword in name_words:
        nn = []
        for (i, val) in enumerate(common):
            if not val and i < len(nameword):
                nn.append(nameword[i])
        nn.reverse()
        newnames.append(new_delim.join(nn))
    return newnames
Sets artifact metadata.
dataset/ETHPy150Open ngsutils/ngsutils/ngsutils/support/ngs_utils.py/filenames_to_uniq--crossover with--dataset/ETHPy150Open stardust85/repositorytools/repositorytools/lib/repository.py/NexusProRepositoryClient.set_artifact_metadata