diff --git a/src/ex_alice.py b/src/ex_alice.py index 7e7052e..595ee6a 100755 --- a/src/ex_alice.py +++ b/src/ex_alice.py @@ -15,38 +15,22 @@ def splitQuery(q): Returns: Dictionary: Completed dictionary with keys and pairs """ - newDict = {} - reNumDot = re.compile("^[0-9\.*$]") - - newQ = q.split("&") - - for i in newQ: - equalSplit = i.split("=") - - if equalSplit[0].isdecimal() or (equalSplit[0][0] == "-" and equalSplit[0][1:].isdecimal()): - equalSplit[0] = int(equalSplit[0]) - newDict[equalSplit[0]] = equalSplit[1] - - elif equalSplit[1].isdecimal() or (equalSplit[1][0] == "-" and equalSplit[1][1:].isdecimal()): - equalSplit[1] = int(equalSplit[1]) - newDict[equalSplit[0]] = equalSplit[1] - - if str(equalSplit[0]).count(".") == 1 or str(equalSplit[1]).count("."): - if reNumDot.search(equalSplit[0]): - equalSplit[0] = float(equalSplit[0]) - newDict[equalSplit[0]] = equalSplit[1] - - elif reNumDot.search(equalSplit[1]): - equalSplit[1] = float(equalSplit[1]) - newDict[equalSplit[0]] = equalSplit[1] - - else: - pass - + if len(q) == 0: print("No data received.") # Stop error if no data else: - newDict[equalSplit[0]] = equalSplit[1] + try: + content = dict(subString.split("=") for subString in q.split("&")) # Split string query into dictionary + + except: + print("Sorry... Data was in the incorrect format") # Catch error if query data is incorrect format + + for i in content: + value = content[i] + if ("-" or "." in value): # If decimal or dash in string... + numberType.is_float(value) # Check to see if it's a float number + if numberType.is_float(value) == True: value=float(value) # Convert to str >> float + elif numberType.is_integer(value) == True: value=int(value) # Convert to str >> int + return content - return newDict def handleRequest(data, outDir):