#!python

import argparse
import os
from parseyml import Yaml
from shutil import copyfile


parser = argparse.ArgumentParser(description='ActiveMQ Easy Config (AEC) v1.0')
parser.add_argument('-c', '--config', help='Configuration file in yaml', required=True)
parser.add_argument('-a', '--activemq', help='ActiveMQ Configuration file', required=True)
parser.add_argument('-s', '--save-to', help='Save the files to the specified folder (defaults to current directory)',
                    required=False, default=os.getcwd())
parser.add_argument('-r', '--registry', help='The name of the registry and the folder. e.g. docker.io/byjg',
                    required=False, default="example")
parser.add_argument('-d', '--dockerfile', help='The path of the Dockerfile',
                    required=False, default="templates/Dockerfile")

args = parser.parse_args()

y = Yaml(args.config, args.activemq)

os.makedirs(args.save_to, exist_ok=True)

[script, script2] = y.create(args.save_to, args.registry)

handler = open(f"{args.save_to}/build.sh", "w")
handler.write("\n".join(script))
handler.close()

handler = open(f"{args.save_to}/run.sh", "w")
handler.write("\n".join(script2))
handler.close()

copyfile(args.dockerfile, f"{args.save_to}/Dockerfile")


# print(config_dom.toprettyxml(indent="  "))
