Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
smartpublicbuilding
openhab-pb-stack
Commits
6abdce18
Commit
6abdce18
authored
Jan 21, 2019
by
Dobli
Browse files
Generate folders and copy templates on initial generation
parent
6e4fdf07
Changes
1
Hide whitespace changes
Inline
Side-by-side
building_manager.py
View file @
6abdce18
...
...
@@ -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 ---
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment