Commit 82d68623 by Shirley He

add error handling for max 3 fields

parent 421da388
......@@ -11,27 +11,30 @@ import sys
def parse_field_arguments():
parser = argparse.ArgumentParser()
parser.add_argument('--fields', nargs=3, action="append", default=None,
parser.add_argument('--fields', nargs="*", action="append", default=None,
help="Specify which fields to generate permutations on")
parser.add_argument('filename')
args = parser.parse_args()
file = open(args.filename)
num_args = parser.parse_args()
if (len(num_args.fields[0]) > 3):
raise argparse.ArgumentTypeError("--fields can only take a max of 3 values")
file = open(num_args.filename)
permutation_data = json.load(file)
first_field = permutation_data
second_field = permutation_data
third_field = permutation_data
# if no field arguments are given, just print out default data
if not args.fields:
if not num_args.fields:
default_permutation = permutation_data["default_data"]
print default_permutation
else:
for permutation_choices in args.fields:
for permutation_choices in num_args.fields:
first_field = first_field["permutation_data"][permutation_choices[0]]
second_field = second_field["permutation_data"][permutation_choices[1]]
third_field = third_field["permutation_data"][permutation_choices[2]]
return first_field, second_field, third_field
......@@ -39,9 +42,8 @@ def parse_field_arguments():
def generate_permutations(fields):
#permutation_generation = [first_field, second_field, third_field]
print list(product(*fields))
# print fields
# print list(product(*fields))
print ""
if __name__ == "__main__":
......
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