def quitok(): name = self.nameEdit.text() description = self.descriptionEdit.text() evaluation = self.evalEdit.text() category = self.combobox.currentText() if knownFunctions.isFunValid(name, evaluation, decomposition.isfunction): self.retranslateUi(Dialog) self.sendFunData.emit(name, description, evaluation, category) Dialog.accept() Dialog.close() else: if evaluation == "": self.evalError.setText( "<font color='red' size=-1><i>L'expression de la fonction ne peut être vide<i/></font>") self.evalError.show() else: self.evalError.hide() if name == "": reason = 'Le nom ne peut être vide' elif name == "args": reason = "'args' ne peut definir le nom d'une fonction" elif name in knownFunctions.dict.keys(): reason = 'La fonction existe déjà' elif decomposition.isCell(name): reason = "Le nom d'une fonction ne peut correspondre à celui d'une celulle" elif decomposition.isNumber(name): reason = "Le nom d'une fonction ne peut correspondre à un nombre" elif not decomposition.isfunction(name): reason = "Format non valide" try: self.nameError.setText("<font color='red' size=-1><i>{}<i/></font>".format(reason)) self.nameError.show() except UnboundLocalError: self.nameError.hide() print('Fonction non valide')
def getCellByName(self, name): # Renvoi la celulle nommée si elle existe, 0 sinon name = ''.join([char for char in name if char != '$']) # On enleve les $ eventuels letters = "" numbers = "" k = 0 if not decomposition.isCell(name): raise decomposition.Error('Format de cellule non valide') else: while len(numbers) == 0: if name[k].isalpha(): letters += name[k] else: numbers += name[k] k += 1 while k < len(name): numbers += name[k] k += 1 try: return self.getCell(int(numbers) - 1, columns_labels.getColumn(letters) - 1) except Exception: raise decomposition.Error('Cellule {} non trouvée'.format(name))