Commit 6abdce18 authored by Dobli's avatar Dobli
Browse files

Generate folders and copy templates on initial generation

parent 6e4fdf07
......@@ -47,11 +47,16 @@ def generate_config_folders(base_dir):
print(f'Initialize configuration in {base_path}')
# generate empty config dirs
for d in CONFIG_DIRS:
new_dir = base_path + '/' + d
if not os.path.exists(new_dir):
os.makedirs(new_dir)
# copy template configs
for template_file in TEMPLATE_FILES:
copy_template_config(base_dir, template_file)
def copy_template_config(base_dir, config_path):
"""Copies template configuration files into custom folder
......@@ -396,10 +401,6 @@ def init_config_dirs_command(args):
# generate basic config folder
generate_config_folders(base_dir)
# copy template configs
for template_file in TEMPLATE_FILES:
copy_template_config(base_dir, template_file)
def assign_building_command(args):
"""Assigns the role of a building to a node
......@@ -446,7 +447,7 @@ def restore_command(args):
def interactive_command(args):
"""Top level function to start the interactive mode
:args: command line arguments
:args: parsed command line arguments
"""
print(main_menu(args))
......@@ -524,6 +525,8 @@ def init_menu(args):
if (join_swarm_machine(machine, leader)):
print('Joining swarm successful\n')
# Initialize custom configuration dirs and templates
generate_config_folders(base_dir)
# Generate config files based on input
generate_sftp_file(base_dir, answers['username'], answers['password'])
generate_mosquitto_file(base_dir, answers['username'], answers['password'])
......@@ -553,16 +556,16 @@ if __name__ == '__main__':
prog='building_manger',
description='Generate and manage multi'
'building configurations of openHAB with docker swarm')
parser.add_argument(
'--base_dir',
'-d',
help='Directory to creat config folders in, default is current dir')
subparsers = parser.add_subparsers()
# Interactive mode
parser_interactive = subparsers.add_parser(
'interactive',
help='Starts the interactive mode of the building manager')
parser_interactive.add_argument(
'--base_dir',
'-d',
help='Directory to creat config folders in, default is current dir')
parser_interactive.set_defaults(func=interactive_command)
# Restore command
......@@ -603,14 +606,16 @@ if __name__ == '__main__':
# - Config init
parser_config_init = parser_config_subs.add_parser(
'init', help='Initialize config file directories')
parser_config_init.add_argument(
'--base_dir',
'-d',
help='Directory to creat config folders in, default is current dir')
parser_config_init.set_defaults(func=init_config_dirs_command)
# Parse arguments into args dict
args = parser.parse_args()
args.func(args)
# when no subcommand is defined show interactive menu
try:
args.func(args)
except AttributeError:
interactive_command(args)
# }}}
# --- vim settings ---
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment