def uiFilterReal(l, command, listHistory): leftover = modelStringRemoveString(command, "filter") leftover = modelStringRemoveString(leftover, "real") if leftover != "": print("Invalid 'filter real' command!") return serviceFilterReal(l) listHistory.append(copy.deepcopy(l))
def uiListModuloLess(l, command): leftover = modelStringRemoveString(command, "list") leftover = modelStringRemoveString(leftover, "modulo") leftover = modelStringRemoveString(leftover, "<") try: value = int(leftover) except ValueError: print("Invalid 'list modulo <' command!") return servicePrintListModuloLess(l, value)
def uiFilterModuloLess(l, command, listHistory): leftover = modelStringRemoveString(command, "filter") leftover = modelStringRemoveString(leftover, "modulo") leftover = modelStringRemoveString(leftover, "<") try: value = int(leftover) except ValueError: print("Invalid 'filter modulo <' command!") return serviceFilterModuloLess(l, value) listHistory.append(copy.deepcopy(l))
def uiInsertAt(l, command, listHistory): commandParts = modelStringRemoveString(command, "insert") if checkStringEmpty(commandParts): print("Insert command is empty!") return parts = commandParts.split("at") for part in parts: if "i" in part: complexString = part else: position = part try: checkStringIsComplex(complexString) except Exception as ex: print(ex) return try: position = int(position) except ValueError: print("Invalid position") return realPart, imagPart = modelStringToComplex(complexString) try: realPart = int(realPart) imagPart = int(imagPart) except ValueError: print("Invalid parts of complex number!") return serviceInsertAt(l, realPart, imagPart, position) listHistory.append(copy.deepcopy(l))
def uiReplaceWith(l, command, listHistory): leftover = modelStringRemoveString(command, "replace") if "with" in leftover: parts = leftover.split("with") else: print("No 'with' in 'replace' command!") return try: checkStringIsComplex(parts[0]) except Exception as ex: print(ex) return try: checkStringIsComplex(parts[1]) except Exception as ex: print(ex) return realPartOld, imagPartOld = modelStringToComplex(parts[0]) realPartNew, imagPartNew = modelStringToComplex(parts[1]) try: realPartOld = int(realPartOld) imagPartOld = int(imagPartOld) realPartNew = int(realPartNew) imagPartNew = int(imagPartNew) serviceReplaceWith(l, realPartOld, imagPartOld, realPartNew, imagPartNew) except Exception as ex: print(ex) return listHistory.append(copy.deepcopy(l))
def uiRemoveSimple(l, command, listHistory): position = modelStringRemoveString(command, "remove") try: position = int(position) except ValueError: print("Invalid Position!") return serviceRemoveSimple(l, position) listHistory.append(copy.deepcopy(l))
def uiListReal(l, command): leftover = modelStringRemoveString(command, "list") leftover = modelStringRemoveString(leftover, "real") if leftover == "": print("'list real' command is empty!") return if "to" not in leftover: print("No 'to' in command 'list real'") return parts = leftover.split("to") # print(parts[0]) try: position1 = int(parts[0]) position2 = int(parts[1]) except ValueError: print("Invalid positions!") return servicePrintListReal(l, position1, position2)
def uiProductComplexNumbers(l, command): if "to" not in command: print("no 'to' in 'product' command!") return leftover = modelStringRemoveString(command, "product") parts = leftover.split('to') try: position1 = int(parts[0]) position2 = int(parts[1]) except ValueError: print("Invalid positions!") return serviceProductComplexNumbers(l, position1, position2)
def uiAdd(l, command, listHistory): complexString = modelStringRemoveString(command, "add") try: checkStringIsComplex(complexString) except Exception as ex: print(ex) return realPart, imagPart = modelStringToComplex(complexString) try: realPart = int(realPart) imagPart = int(imagPart) except ValueError: print("Invalid parts of complex number!") return serviceAddComplexNumber(l, realPart, imagPart) listHistory.append(copy.deepcopy(l))
def uiRemoveTo(l, command, listHistory): leftover = modelStringRemoveString(command, "remove") parts = leftover.split("to") position1 = parts[0] position2 = parts[1] if checkStringEmpty(position1) and checkStringEmpty(position2): print("Start positon empty!\nEnd position empty!") return if checkStringEmpty(position1): print("Start position empty!") return if checkStringEmpty(position2): print("End position empty!") return try: serviceRemoveTo(l, position1, position2) except Exception as ex: print(str(ex)) return listHistory.append(copy.deepcopy(l))