26 lines
927 B
Python
26 lines
927 B
Python
from util.dockerfileparse import parse_dockerfile, ParsedDockerfile, serialize_dockerfile
|
|
|
|
with open('Dockerfile.test', 'r') as dockerfileobj:
|
|
parsed_dockerfile = parse_dockerfile(dockerfileobj.read())
|
|
|
|
quay_reponame = 'something'
|
|
env_command = {
|
|
'command': 'ENV',
|
|
'parameters': 'QUAY_REPOSITORY %s' % quay_reponame
|
|
}
|
|
|
|
for index, command in reversed(list(enumerate(parsed_dockerfile.commands))):
|
|
if command['command'] == 'FROM':
|
|
new_command_index = index + 1
|
|
parsed_dockerfile.commands.insert(new_command_index, env_command)
|
|
break
|
|
|
|
image_and_tag_tuple = parsed_dockerfile.get_image_and_tag()
|
|
print image_and_tag_tuple
|
|
if image_and_tag_tuple is None or image_and_tag_tuple[0] is None:
|
|
raise Exception('Missing FROM command in Dockerfile')
|
|
|
|
print serialize_dockerfile(parsed_dockerfile)
|
|
|
|
with open('Dockerfile.test.out', 'w') as dockerfileobj:
|
|
dockerfileobj.write(serialize_dockerfile(parsed_dockerfile))
|