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])
|