INNER CODE UNIT · Python

diff

lissy93/portainer-templates · lib/changelog.py:90

def diff(old, new):
    """Added / removed / renamed / updated templates between two title-keyed maps"""
    added = sorted(new.keys() - old.keys())
    removed = sorted(old.keys() - new.keys())
    renamed = match_renames(old, new, added, removed)
    updated = []
    for title in sorted(new.keys() & old.keys()):
        if new[title] != old[title]:
            fields = sorted(k for k in new[title].keys() | old[title].keys()
                            if new[title].get(k) != old[title].get(k))
            updated.append({'title': title, 'fields': fields})
    return added, removed, renamed, updated

def renames_between(old_tag, previous, new_tag):
    """Every rename step from old_tag to new_tag, one tag at a time. A release spans
    several tags, and a title renamed twice only matches up when each hop is paired."""
    chain = {}
    for tag in semver_tags():

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…