From b2c8c00353d0a687826e37b1cbfbf6963d6b0ec6 Mon Sep 17 00:00:00 2001 From: Kirpal Demian Date: Fri, 20 Apr 2018 14:26:53 -0400 Subject: [PATCH] Refactored key parsing to avoid repetition --- import_keyboard.py | 191 +++++++++++++++------------------------------ 1 file changed, 64 insertions(+), 127 deletions(-) diff --git a/import_keyboard.py b/import_keyboard.py index d42a10d..cd1ed79 100644 --- a/import_keyboard.py +++ b/import_keyboard.py @@ -273,141 +273,78 @@ def getKey(filePath): rowData["ry2"] = rowData["ry"] # if rowData has property set then add it to key - if "c" in rowData: - key["c"] = rowData["c"] - else: - key["c"] = "#cccccc" - if "t" in rowData: - key["t"] = rowData["t"] - else: - key["t"] = "#111111" - if "g" in rowData: - key["g"] = rowData["g"] if "a" in rowData: - key["a"] = rowData["a"] - align = key["a"] - if "f" in rowData: - key["f"] = rowData["f"] - else: - key["f"] = 3 - if "fa" in rowData: - key["fa"] = rowData["fa"] - else: - key["fa"] = None - if "f2" in rowData: - key["f2"] = rowData["f2"] - if "r" in rowData: - key["r"] = rowData["r"] - if "rx" in rowData: - key["rx"] = rowData["rx"] - if "ry" in rowData: - key["ry"] = rowData["ry"] - if "ry2" in rowData: - if "yCoord" in rowData: - key["ry2"] = rowData["ry2"] + rowData["yCoord"] - else: - key["ry2"] = rowData["ry2"] - - if "p" not in rowData: - key["p"] = fallbackProfile - else: - key["p"] = parseProfile(rowData["p"], "n" in key) - - # set the text on the key - key["v"] = {} - key["v"]["labels"] = reorderLabels( - value.split('\n'), align) - key["f"] = reorderSizes(key["f"], key["fa"], align) - key["t"] = reorderColors( - None, key["t"], align) - key["v"]["raw"] = value - - # set the row and column of the key - key["row"] = rowNum - key["col"] = pos - # set x and y coordinate of key - key["x"] = x - key["y"] = rowData["y"] - - if "rx" in key: - key["x"] += key["rx"] - if "ry2" in key: - key["y"] = key["ry2"] - - # add the key to the current row - keyboard["rows"][key["row"]].append(key) - keyboard["keyCount"] += 1 + align = rowData["a"] + # if the previous item isn't a dict else: - # if rowData has property set then add it to key - if "c" in rowData: - key["c"] = rowData["c"] - else: - key["c"] = "#cccccc" - if "t" in rowData: - key["t"] = rowData["t"] - else: - key["t"] = "#111111" - if "g" in rowData: - key["g"] = rowData["g"] - if "a" in rowData: - key["a"] = rowData["a"] - if "f" in rowData: - key["f"] = rowData["f"] - else: - key["f"] = 3 - if "fa" in rowData: - key["fa"] = rowData["fa"] - else: - key["fa"] = None - if "f2" in rowData: - key["f2"] = rowData["f2"] - if "r" in rowData: - key["r"] = rowData["r"] - if "rx" in rowData: - key["rx"] = rowData["rx"] - if "ry" in rowData: - key["ry"] = rowData["ry"] - if "ry2" in rowData: - if "yCoord" in rowData: - key["ry2"] = rowData["ry2"] + rowData["yCoord"] - else: - key["ry2"] = rowData["ry2"] - - if "p" not in rowData: - key["p"] = fallbackProfile - else: - key["p"] = parseProfile(rowData["p"], "n" in key) - key["xCoord"] = 0 key["d"] = False key["w"] = 1 - 0.05 key["h"] = 1 - # set the text on the key - key["v"] = {} - key["v"]["labels"] = reorderLabels( - value.split('\n'), align) - key["f"] = reorderSizes(key["f"], key["fa"], align) - key["t"] = reorderColors( - None, key["t"], align) - key["v"]["raw"] = value - - # set the row and column of the key - key["row"] = rowNum - key["col"] = pos - # set x and y coordinates of key - key["x"] = x - key["y"] = rowData["y"] - - if "rx" in key: - key["x"] += key["rx"] - if "ry2" in key: - key["y"] = key["ry2"] - - # add the key to the current row - keyboard["rows"][key["row"]].append(key) - keyboard["keyCount"] += 1 + # if rowData has property set then add it to key + if "c" in rowData: + key["c"] = rowData["c"] + else: + key["c"] = "#cccccc" + if "t" in rowData: + key["t"] = rowData["t"] + else: + key["t"] = "#111111" + if "g" in rowData: + key["g"] = rowData["g"] + if "a" in rowData: + key["a"] = rowData["a"] + if "f" in rowData: + key["f"] = rowData["f"] + else: + key["f"] = 3 + if "fa" in rowData: + key["fa"] = rowData["fa"] + else: + key["fa"] = None + if "f2" in rowData: + key["f2"] = rowData["f2"] + if "r" in rowData: + key["r"] = rowData["r"] + if "rx" in rowData: + key["rx"] = rowData["rx"] + if "ry" in rowData: + key["ry"] = rowData["ry"] + if "ry2" in rowData: + if "yCoord" in rowData: + key["ry2"] = rowData["ry2"] + rowData["yCoord"] + else: + key["ry2"] = rowData["ry2"] + + if "p" not in rowData: + key["p"] = fallbackProfile + else: + key["p"] = parseProfile(rowData["p"], "n" in key) + + # set the text on the key + key["v"] = {} + key["v"]["labels"] = reorderLabels(value.split('\n'), align) + key["f"] = reorderSizes(key["f"], key["fa"], align) + key["t"] = reorderColors(None, key["t"], align) + key["v"]["raw"] = value + + # set the row and column of the key + key["row"] = rowNum + key["col"] = pos + # set x and y coordinates of key + key["x"] = x + key["y"] = rowData["y"] + + if "rx" in key: + key["x"] += key["rx"] + if "ry2" in key: + key["y"] = key["ry2"] + + # add the key to the current row + keyboard["rows"][key["row"]].append(key) + keyboard["keyCount"] += 1 x += key["w"] + 0.05 y += 1 + 0.05 if "ry2" in key: