From fe4e1abe4b36f5d5df35698b90f9436323fdb3bf Mon Sep 17 00:00:00 2001 From: Oriol Closa Date: Sat, 14 Sep 2019 15:48:51 -0400 Subject: [PATCH] Add dict parser --- python_solution.py | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/python_solution.py b/python_solution.py index 2c14cc2..40de868 100644 --- a/python_solution.py +++ b/python_solution.py @@ -1,12 +1,27 @@ +def refine_parameter(obj): + """ + Refine a parameter + Returns a parameter parsed to its expected type + """ + if isinstance(obj, dict): + return refine_parameters(obj) + elif isinstance(obj, list): + return [refine_parameter(o) for o in obj] + else: + try: + return int(obj) + except ValueError: + if obj in ["true", "false"]: + return obj == "true" + return obj -def refine_parameters(data: dict): - '''Refine the parameters of a dictionary - Returns: - Return a dictionary of cleaned input - ''' +def refine_parameters(data: dict): + """ + Refine the parameters of a dictionary + Returns a dictionary of cleaned input + """ clean_dict = {} - - # Write your code here. - + for key, value in data.items(): + clean_dict[key] = refine_parameter(value) return clean_dict