From 7826eb2f1a8d47ca793a31cd26b20cd800bbf725 Mon Sep 17 00:00:00 2001 From: roxbeecoxb Date: Fri, 13 Nov 2020 18:46:22 +0000 Subject: [PATCH] Fixed error in split query --- src/ex_alice.py | 44 ++++++++++++++------------------------------ 1 file changed, 14 insertions(+), 30 deletions(-) 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):