Skip to content
Snippets Groups Projects
Commit 866a6950 authored by Attila Farkas's avatar Attila Farkas
Browse files

parsing input arguments with argparse

parent fa428078
No related branches found
No related tags found
1 merge request!7Resolve Refactoring
""" This module contains functions to parse input arguments. """ """ This module contains functions to parse input arguments. """
import argparse
def parse_input_args(argv, flags): def parse_input_args(argv, flags):
""" """
Parses the given input arguments for input file name and flags. Parses the given input arguments for input file name and flags.
...@@ -7,27 +9,20 @@ def parse_input_args(argv, flags): ...@@ -7,27 +9,20 @@ def parse_input_args(argv, flags):
:param argv: input arguments (list of strings) :param argv: input arguments (list of strings)
:param flags: dictionary to write the parsed flags :param flags: dictionary to write the parsed flags
:returns: name of the input file :returns: name of the input file
:raise AttributeError: invalid number of args or unknown flag
""" """
input_file_name = None input_file_name = None
parser = argparse.ArgumentParser()
# TODO implement parsing args using an external module parser.add_argument("definition_file", help="path to the input yaml definition")
parser.add_argument("--ansible_local", help="uses ansible_local for provisioning instead of ansible", action="store_true")
parser.add_argument("--verbose_vagrant", help="sets verbose output for vagrant", action="store_true")
parser.add_argument("--border_router", help="creates a border router with connection to all routers", action="store_true")
args = parser.parse_args()
if len(argv) == 3: input_file_name = args.definition_file
if str(argv[1]) == "-l": flags["ansible_local"] = args.ansible_local
flags["ansible_local"] = True flags["verbose_vagrant"] = args.verbose_vagrant
input_file_name = str(argv[2]) flags["border_router"] = args.border_router
elif str(argv[2]) == "-l":
flags["ansible_local"] = True
input_file_name = str(argv[1])
else:
print("Error: Expecting a yml file and optionally a flag -l.")
raise AttributeError
elif len(argv) == 2:
input_file_name = str(argv[1])
else:
print("Error: Expecting a yml file and optionally a flag -l.")
raise AttributeError
return input_file_name return input_file_name
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment