Blame utils/galaxyfy-playbook.py

Packit Service 0f71a7
import sys
Packit Service 0f71a7
import re
Packit Service 0f71a7
Packit Service 0f71a7
Packit Service 0f71a7
def galaxify_playbook(playbook_in, project_prefix, collection_prefix):
Packit Service 0f71a7
    p1 = re.compile('(%s.*:)$' % project_prefix)
Packit Service 0f71a7
    p2 = re.compile('(.*:) (%s.*)$' % project_prefix)
Packit Service 0f71a7
    lines = []
Packit Service 0f71a7
Packit Service 0f71a7
    pattern1 = r'%s.\1' % collection_prefix
Packit Service 0f71a7
    pattern2 = r'\1 %s.\2' % collection_prefix
Packit Service 0f71a7
Packit Service 0f71a7
    with open(playbook_in) as in_f:
Packit Service 0f71a7
        changed = False
Packit Service 0f71a7
        changeable = False
Packit Service 0f71a7
        include_role = False
Packit Service 0f71a7
        for line in in_f:
Packit Service 0f71a7
            stripped = line.strip()
Packit Service 0f71a7
            if stripped.startswith("- name:") or \
Packit Service 0f71a7
               stripped.startswith("- block:"):
Packit Service 0f71a7
                changeable = True
Packit Service 0f71a7
            elif stripped in ["set_fact:", "vars:"]:
Packit Service 0f71a7
                changeable = False
Packit Service 0f71a7
                include_role = False
Packit Service 0f71a7
            elif stripped.startswith("include_role:"):
Packit Service 0f71a7
                include_role = True
Packit Service 0f71a7
            elif include_role and stripped.startswith("name:"):
Packit Service 0f71a7
                line = p2.sub(pattern2, line)
Packit Service 0f71a7
                changed = True
Packit Service 0f71a7
            elif changeable and stripped.startswith("- role:"):
Packit Service 0f71a7
                line = p2.sub(pattern2, line)
Packit Service 0f71a7
                changed = True
Packit Service 0f71a7
            elif changeable and not stripped.startswith(collection_prefix):
Packit Service 0f71a7
                line = p1.sub(pattern1, line)
Packit Service 0f71a7
                changed = True
Packit Service 0f71a7
Packit Service 0f71a7
            lines.append(line)
Packit Service 0f71a7
Packit Service 0f71a7
    if changed:
Packit Service 0f71a7
        with open(playbook_in, "w") as out_f:
Packit Service 0f71a7
            for line in lines:
Packit Service 0f71a7
                out_f.write(line)
Packit Service 0f71a7
Packit Service 0f71a7
Packit Service 0f71a7
galaxify_playbook(sys.argv[1], sys.argv[2], sys.argv[3])