def __buscar(self): """ Funcion busca la cadena de texto introducida por el usuario en la tabla que este activa, seleccionando el primer registro válido que encuentre""" if not self.lineEdit1.text().latin1(): return if self.parent().grid.currentPageIndex() == 0: tablaactual = self.parent().grid.table1 else: tablaactual = self.parent().grid.table2 fila = tablaactual.currentRow() columna = tablaactual.currentColumn() textoabuscar = self.lineEdit1.text().latin1() LOG.debug("Busqueda de " + textoabuscar) resultado = self.__buscarinterno(tablaactual, textoabuscar, fila, columna) if resultado: LOG.debug("Resultado encontrado en la primera columna") tablaactual.clearSelection() tablaactual.setCurrentCell(resultado[0], resultado[1]) self.accept() return codigoretorno = QMessageBox.warning(self, 'Atencion', 'No he encontrado nada', '¿Continuar desde el principio?', 'Salir', '', 0, 1) if codigoretorno == 1: self.reject() return resultado = self.__buscarinterno(tablaactual, textoabuscar) if resultado: tablaactual.clearSelection() tablaactual.setCurrentCell(resultado[0], resultado[1]) self.accept() return codigoretorno = QMessageBox.warning(self, 'Atencion', 'No he encontrado nada', 'Otra busqueda', 'Salir', '', 0, 1) if codigoretorno == 1: self.reject() else: self.lineEdit1.clear() return
def __actualizar_reg_interfazdatos(self, row, col, valor): """actualiza un dato en interfazdatos,recogiendo la excepcion en caso de error """ LOG.debug("Actualizando datos de la interfaz:" + str(row) + "," + str(col)) try: self.__idu[row][col] = valor except ValueError: QMessageBox.warning(self, 'Atención', u'El dato no es válido')
def __guardar_como(self): """Abre un diálogo pidiendo el nombre de archivo y guarda en dicho archivo""" filtro = "" for fmt in SL.extensiones_fichero: filtro = filtro+ "%s files (*.%s);;" % (fmt, fmt.lower()) filename = QFileDialog.getSaveFileName(QString.null, filtro, self) filename = str(filename) if filename: from Driza.excepciones import FicheroExisteException, FicheroTipoDesconocidoException import re extension = re.compile('.*\..*') if not extension.match(filename): filename += ".driza" try: self.__gestorproyectos.guardar(filename) except FicheroExisteException, fichero: returncode = QMessageBox.information(self, 'Atencion:', 'El fichero' + fichero.fichero + ' ya existe' , 'Sobreescribir', 'Otro nombre', 'Cancelar', 0, 1) if returncode == 0: self.__gestorproyectos.guardar(filename, True) self.__idu.establecer_original() self.__myUpdate() elif returncode == 1: self.__guardarcomo() except FicheroTipoDesconocidoException: QMessageBox.warning(self, u'Atención', u'La extensión del fichero es incorrecta.\nPruebe con otra extensión') self.__gestorproyectos.fichero = None
def httpDone(self, error): qs = QString(self.http.readAll()) match = self.imgre.search(unicode(qs)) if error: QMessageBox.warning(self, "Warning", "Cannot upload! Error:" + self.http.error()) else: if match: self.image = match.group(1) if self.thumbfile: # do second upload if self.chkShack.isChecked(): self.BeginImageUpload(self.thumbfile, self.ImageShackPostData, self.http2) elif self.chkArk.isChecked(): self.BeginImageUpload(self.thumbfile, self.ImageArkPostData, self.http2) else: # no need to upload second QMessageBox.information(self, "Info", "Image successfully uploaded!") self.editUrl.setText(self.image) else: if self.thumbfile: os.unlink(thumbfile) QMessageBox.warning(self, "Warning", "Cannot upload the image file!") self.http.closeConnection()
def __insertar_registro(self): """Inserta un registro, devolviendo un mensaje si ha habido un error""" try: self.grid.insertar_reg() except AssertionError: QMessageBox.warning(self, u'Atención', u'Error en la inserción') LOG.exception("excepcion capturada al insertar")
def __modificacion_t_var(self, fila, columna): """Funcion a que conecta con la introduccion de nuevos datos en la tabla de variables""" if columna == 1 and (self.table2.text(fila, columna).latin1() == self.__idu.var(fila).tipo): return # Se ha solicitado un cambio de tipo al propio tipo self.__portero.guardar_estado() if fila >= self.__idu.n_var(): #Es una nueva variable #Variables intermedias (creadas con los valores por defecto) for valorintermedio in range (self.__idu.n_var(), fila): self.__insertar_variable() self.__mostrar_var(valorintermedio) self.__insertar_variable() #Variable modificada variable = self.__idu.var(fila) if columna == 1: # El usuario quiere cambiar el tipo textoencuestion = self.table2.text(fila, columna).latin1() #preguntar el tipo de conversion metododeseado = self.__preguntar_conversion(variable, textoencuestion) if metododeseado: variable, columna = self.__agenteconversion(variable, textoencuestion, metododeseado) #Pareja variable-list self.__idu.establecer_var(fila, variable, columna) self.__mostrar_t_reg() else: #Restos de campos (Texto) from Driza.excepciones import VariableExisteException try: self.__idu.modificar_var(variable, columna, str(self.table2.text(fila, columna).latin1())) except VariableExisteException: QMessageBox.warning(self, u'Atención', u'El nombre de variable ya existe') except NameError: QMessageBox.warning(self, u'Atención', u'Nombre de variable Erróneo') self.__mostrar_var(fila) #En todos los casos, actualizamos el titulo de la tabla de datos self.__mostrar_titulo_t_reg()
def accept(self): """Función de aceptación del dialogo. Avisa al usuario si los datos han sido introducidos incorrectamente, y genera""" if self.lineEdit1.text(): from Driza.excepciones import VariableExisteException sobreescritura = self.checkBox1.isChecked() solofiltrado = False if sobreescritura: if self.checkBox2.isChecked(): solofiltrado = True try: self.__idu.ana_var_expresion(self.lineEdit1.text().latin1(), self.comboBox1.currentText().latin1(), \ "NA", self.lineEdit2.text(),self.textEdit1.text().latin1(), \ permitirsobreescritura=sobreescritura, solofiltrados=solofiltrado) except (SyntaxError,NameError): #La expresión no es correcta, mostramos un mensaje de error LOG.exception("Excepción al añadir la variable con la expresión") QErrorMessage(self, "error").message(u"La expresión no es correcta") self.__idu.borrar_var(self.lineEdit1.text().latin1()) #Borrar la variable que está a medias except (ZeroDivisionError,OverflowError): QErrorMessage(self, "error").message(u"La expresión genera un desbordamiento") except VariableExisteException: QMessageBox.warning(self, u"atención", u"La variable ya existe") except TypeError: QErrorMessage(self, "error").message(u"El tipo de variable no coincide con el existente") LOG.exception("Excepción al añadir la variable con la expresión") else: DialogoCrevar.accept(self) self.parent().grid.myUpdate() else: returncode = QMessageBox.warning(self, 'Atencion', \ 'No has rellenado todos los campos', \ 'Volver al dialogo', 'Salir', '', 0, 1 ) if returncode == 1: self.reject()
def main(): if not os.path.exists(os.path.expanduser("~/.pyqlogger")): os.mkdir(os.path.expanduser("~/.pyqlogger")) settings = Settings.Settings.load() UI.prepareModule(settings) app = UI.API.KQApplication(sys.argv, None) stat = UI.API.prepareCommandLine() pic = QPixmap ( 150, 50) pic.fill() loginsplash = QSplashScreen( pic ) pixmap = QPixmap( "splash.png" ) splash = QSplashScreen( pixmap ) splash.show() splash.message( "Loading forms...",alignflag ) qApp.processEvents() load_forms(splash,app,settings) splash.message( "Loading plugins...",alignflag ) qApp.processEvents() manager = Manager.load(__FORMS__["Main"]["Impl"]) del splash acc = None pwd = None if settings.AutoLogin: # check if we have auto login info acc = settings.accountByName(settings.AutoLogin) pwd = acc.Password while True: if not acc: wnd = __FORMS__["Login"] if wnd["Impl"].init(settings,__FORMS__,manager): if wnd["Class"].exec_loop() == QDialog.Accepted: acc = wnd["Impl"].acc pwd = str(wnd["Impl"].edtPassword.text()) if not acc or not pwd: break else: (acc.Password,oldpwd) = (pwd,acc.Password) acc.init() loginsplash.show() loginsplash.message( "Logging in...",Qt.AlignCenter) logres = acc.login() loginsplash.hide() acc.Password = oldpwd if not logres: QMessageBox.warning(None,"Failed!","""Cannot login!""") acc = None else: wnd = __FORMS__["Main"] acc.init() wnd["Impl"].init(settings,__FORMS__, acc, pwd,\ manager) app.setMainWidget(wnd["Class"]) wnd["Class"].show() #splash.finish(wnd["Class"]) app.exec_loop() if wnd["Impl"].reload: acc = None else: break
def main(): if not os.path.exists(os.path.expanduser("~/.pyqlogger")): os.mkdir(os.path.expanduser("~/.pyqlogger")) settings = Settings.Settings.load() UI.prepareModule(settings) app = UI.API.KQApplication(sys.argv, None) stat = UI.API.prepareCommandLine() pic = QPixmap(150, 50) pic.fill() loginsplash = QSplashScreen(pic) pixmap = QPixmap("splash.png") splash = QSplashScreen(pixmap) splash.show() splash.message("Loading forms...", alignflag) qApp.processEvents() load_forms(splash, app, settings) splash.message("Loading plugins...", alignflag) qApp.processEvents() manager = Manager.load(__FORMS__["Main"]["Impl"]) del splash acc = None pwd = None if settings.AutoLogin: # check if we have auto login info acc = settings.accountByName(settings.AutoLogin) pwd = acc.Password while True: if not acc: wnd = __FORMS__["Login"] if wnd["Impl"].init(settings, __FORMS__, manager): if wnd["Class"].exec_loop() == QDialog.Accepted: acc = wnd["Impl"].acc pwd = str(wnd["Impl"].edtPassword.text()) if not acc or not pwd: break else: (acc.Password, oldpwd) = (pwd, acc.Password) acc.init() loginsplash.show() loginsplash.message("Logging in...", Qt.AlignCenter) logres = acc.login() loginsplash.hide() acc.Password = oldpwd if not logres: QMessageBox.warning(None, "Failed!", """Cannot login!""") acc = None else: wnd = __FORMS__["Main"] acc.init() wnd["Impl"].init(settings,__FORMS__, acc, pwd,\ manager) app.setMainWidget(wnd["Class"]) wnd["Class"].show() #splash.finish(wnd["Class"]) app.exec_loop() if wnd["Impl"].reload: acc = None else: break
def __copiar(self): """Funcion que copia y borra la seleccion""" try: self.__copiar_privado() except AssertionError: QMessageBox.warning(self, u'Atención', 'Las operaciones de copiado, cortado y pegado no han sido implementadas') else: self.grid.borrar_seleccion()
def FindgiFTexec(self): self.config.OptionList["giFTexecLoc"] = "" for x in self.pathArray: if os.access(x, os.X_OK): self.config.OptionList["giFTexecLoc"] = x break if len(self.config.OptionList["giFTexecLoc"]) == 0: ## Binary not found QMessageBox.warning(self.win, "giFT executable not found!", "LokiPoki couldn't find your 'giFT' server binary. \nPlease press \"ok\" to select it manually.") filename= str(QFileDialog.getOpenFileName("giFT", "giFT", self.win, "Find giFT executable")) self.config.OptionList["giFTexecLoc"] = filename
def http2Done(self, error): qs = QString(self.http2.readAll()) match = self.imgre.search(unicode(qs)) if error: QMessageBox.warning(self, "Warning", "Cannot upload! Error:" + self.http2.error()) else: if match: self.editUrl.setText(self.image) self.editThumb.setText(match.group(1)) QMessageBox.information(self, "Info", "Image successfully uploaded!") else: QMessageBox.warning(self, "Warning", "Cannot upload the thumbnail image file!") self.http2.closeConnection()
def btnRefresh_clicked(self): if str(self.editUrl.text()): try: img = urllib2.urlopen(str(self.editUrl.text())).read() pic = QPixmap() pic.loadFromData(img) if not str(self.editWidth.text()): self.editWidth.setText(str(pic.width())) if not str(self.editHeight.text()): self.editHeight.setText(str(pic.height())) self.previewImage.setPixmap(pic) except: QMessageBox.warning(self, "Warning", "Cannot open the image url!")
def btnRefresh_clicked(self): if str(self.editUrl.text()): try: img = urllib2.urlopen(str(self.editUrl.text())).read() pic = QPixmap() pic.loadFromData(img) if not str(self.editWidth.text()): self.editWidth.setText(str(pic.width())) if not str(self.editHeight.text()): self.editHeight.setText(str(pic.height())) self.previewImage.setPixmap(pic) except: QMessageBox.warning(self, "Warning", "Cannot open the image url!")
def __cortar(self): """Copia, borra la seleccion y su contenido""" from Driza.excepciones import SeleccionIncorrectaException try: self.grid.verificar_seleccion_registros() self.__portero.guardar_estado() self.__copiar_privado() except SeleccionIncorrectaException: QMessageBox.warning(self, u'Atención', 'Solo se permite cortar registros') except AssertionError: QMessageBox.warning(self, u'Atención', 'Las operaciones de copiado, cortado y pegado no han sido implementadas') else: self.grid.borrar_seleccion(borrardatos=True) self.grid.myUpdate()
def http2Done(self, error): qs = QString(self.http2.readAll()) match = self.imgre.search(unicode(qs)) if error: QMessageBox.warning(self, "Warning", "Cannot upload! Error:" + self.http2.error()) else: if match: self.editUrl.setText(self.image) self.editThumb.setText(match.group(1)) QMessageBox.information(self, "Info", "Image successfully uploaded!") else: QMessageBox.warning(self, "Warning", "Cannot upload the thumbnail image file!") self.http2.closeConnection()
def insert(self, objeto): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() insert = u'''insert into Registro (id, registro, tipo, nome, curso, data_registro, data_saida, status, observacoes) values (%d,%d,%d,"%s","%s","%s","%s",%d,"%s");''' % ( objeto['id'], objeto['registro'], objeto['tipo'], objeto['nome'], objeto['curso'], objeto['data_registro'], objeto['data_saida'], objeto['status'], objeto['observacoes'], ) cursor.execute(insert) banco.commit() return True except Exception, e: warning = QMessageBox.warning( None, "Database error", u"Erro de inserção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def update(self, objeto): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() update = u'''update Solicitacao set ( "id"=%d, "nome"="%s", "curso"="%s", "data"="%s", "certidao"=%d, "declaracao"=%d, "diploma"=%d, "historico"=%d, "outros"=%d, "urgencia"=%d, "observacoes"="%s" ) where (registro = %d);''' % ( objeto['id'], objeto['nome'], objeto['curso'], objeto['data'], objeto['certidao'], objeto['declaracao'], objeto['diploma'], objeto['historico'], objeto['outros'], objeto['urgencia'], objeto['observacoes'], ) cursor.execute(update) banco.commit() return True except Exception, e: warning = QMessageBox.warning( None, "Database error", "Erro de atualização no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def launch_browser(browser, url, caption=None, message=None): if not caption: caption = "Info" if not message: message = "Launch web browser?" if not browser or not access(browser, X_OK): QMessageBox.warning(None, "Warning", "You must properly configure your web browser path in Preferences (within the Edit menu).") return 0 cancel = QMessageBox.information(None, caption, message, "&Ok", "&Cancel") if cancel: return 0 if sys.platform == 'win32': return spawnv(P_NOWAIT, browser, (" ", url)) else: return spawnv(P_NOWAIT, browser, (browser, url))
def insert(self, objeto): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() insert = u'''insert into Solicitacao (id, nome, curso, data, certidao, declaracao, diploma, historico, outros, urgencia, observacoes) values ( %d, "%s", "%s", "%s", %d, %d, %d, %d, %d, %d, "%s" );''' % ( objeto['id'], objeto['nome'], objeto['curso'], objeto['data'], objeto['certidao'], objeto['declaracao'], objeto['diploma'], objeto['historico'], objeto['outros'], objeto['urgencia'], objeto['observacoes'], ) cursor.execute(insert) banco.commit() return True except Exception, e: warning = QMessageBox.warning( None, "Database error", u"Erro de inserção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def __showQuestion(self, caption, question): """ Ask the user a question and returns the result. """ result = False answer = QMessageBox.warning(self, caption, question, QMessageBox.No, QMessageBox.Yes) if answer == QMessageBox.Yes: result = True return result
def launch_browser(browser, url, caption=None, message=None): if not caption: caption = "Info" if not message: message = "Launch web browser?" if not browser or not access(browser, X_OK): QMessageBox.warning( None, "Warning", "You must properly configure your web browser path in Preferences (within the Edit menu)." ) return 0 cancel = QMessageBox.information(None, caption, message, "&Ok", "&Cancel") if cancel: return 0 if sys.platform == 'win32': return spawnv(P_NOWAIT, browser, (" ", url)) else: return spawnv(P_NOWAIT, browser, (browser, url))
def closeEvent(self, event): if self.project.isChanged(): ret = QMessageBox.warning(self, self.tr("Project changed"), self.tr("Do you want to continue?"), QMessageBox.Cancel | QMessageBox.Discard) if ret == QMessageBox.Cancel: event.ignore() return
def __showQuestion(self, caption, question): """ Ask the user a question and returns the result. """ result = False answer = QMessageBox.warning(self, caption, question, QMessageBox.No, QMessageBox.Yes) if answer == QMessageBox.Yes: result = True return result
def selectAll(self): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() selectAll = u"select * from Registro;" cursor.execute(selectAll) return cursor.fetchall() except Exception, e: warning = QMessageBox.warning(None, "Database error", u"Erro de seleção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def selectAll(self): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() selectAll = u'''select * from User;''' cursor.execute(selectAll) return cursor.fetchall() except Exception, e: warning = QMessageBox.warning(None, "Database error", "Erro da consulta no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def delete(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() delete = u'''delete from Registro where ("registro" = %d);''' % object['registro'] cursor.execute(delete) banco.commit() except Exception, e: warning = QMessageBox.warning(None, "Database error", u"Erro de deleção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def select(self, objeto): try: banco = sqlite3.connect('banco.db') cursor = banco.cursor() delete = u'''select * from Solicitacao where ("registro" = %d);''' % objeto['id'] cursor.execute(delete) return cursos.fetchall() except Exception, e: warning = QMessageBox.warning(None, "Database error", "Erro da consulta no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def delete(self, objeto): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() delete = u'''delete from Solicitacao where ("registro" = %d);''' % objeto['id'] cursor.execute(delete) banco.commit() except Exception, e: warning = QMessageBox.warning(None, "Database error", "Erro ao remover do banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def delete(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() delete = '''delete from User where ("cpf" = %d);''' % object['cpf'] cursor.execute(delete) banco.commit() except Exception, e: warning = QMessageBox.warning(None, "Database error", "Erro ao remover do banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def on_actionScenarioNew_triggered(self): if self.currentIsChanged(): ret = QMessageBox.warning(self, self.tr("Text changed"), self.tr("Do you want to save it?"), QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel) if ret == QMessageBox.Cancel: return elif ret == QMessageBox.Save: content = qt.toUnicode(self.ui.textEditScenario.toPlainText()) self.currentScenario.setText(content) self.initializeScenario()
def httpDone(self, error): qs = QString(self.http.readAll()) match = self.imgre.search(unicode(qs)) if error: QMessageBox.warning(self, "Warning", "Cannot upload! Error:" + self.http.error()) else: if match: self.image = match.group(1) if self.thumbfile: # do second upload if self.chkShack.isChecked(): self.BeginImageUpload(self.thumbfile, self.ImageShackPostData, self.http2) elif self.chkArk.isChecked(): self.BeginImageUpload(self.thumbfile, self.ImageArkPostData, self.http2) else: # no need to upload second QMessageBox.information(self, "Info", "Image successfully uploaded!") self.editUrl.setText(self.image) else: if self.thumbfile: os.unlink(thumbfile) QMessageBox.warning(self, "Warning", "Cannot upload the image file!") self.http.closeConnection()
def select(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() delete = '''select * from User where ("cpf" = %d)''' % object['cpf'] cursor.execute(delete) return cursor.fetchall() except Exception, e: warning = QMessageBox.warning(None, "Database error", "Erro da consulta no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def update(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() update = '''update User set ( "nome"="%s", "email"="%s", "login"="%s", "senha"="%s", "autenticacao"=%d, "admin"=%d ) where (cpf = %d);''' % ( object['cpf'], object['nome'], object['email'], object['login'], object['senha'], object['autenticacao'], object['admin']) cursor.execute(update) banco.commit() return True except Exception, e: warning = QMessageBox.warning(None, "Database error", "Erro de atualização no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def abrir_proyecto(self, parent = None, filename = None): """ Lanza el diálogo de apertura de fichero """ from Driza.excepciones import FicheroNoExisteException, FicheroErroneoException, FicheroTipoDesconocidoException if not parent: parent = self if not self.__dproyecto_modificado(): return if not filename: filtro = "" for fmt in SL.extensiones_fichero: filtro = filtro + "%s files (*.%s);;" % (fmt, fmt.lower()) filename = QFileDialog.getOpenFileName(QString.null, filtro, self, None, "Dialogo abrir fichero", "") filename = str(filename) if filename: try: self.__gestorproyectos.cargar(filename) except FicheroErroneoException: QMessageBox.warning(parent, u'Atención', 'El fichero no ha podido ser leido') except FicheroTipoDesconocidoException: QMessageBox.warning(parent, u'Atención', 'El fichero no ha podido ser leido') except FicheroNoExisteException: QMessageBox.warning(parent, u'Atención', 'El fichero no ha podido ser leido') except AttributeError: QErrorMessage(parent, "Error").message(u"Parece que ha intentado cargar un fichero de una versión anterior. Lo siento") LOG.exception("excepcion capturada") else: self.__myUpdate() self.grid.myUpdate() return True return False
def selectAll(self): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() selectAll = u'''select * from Solicitacao;''' cursor.execute(selectAll) return cursor.fetchall() except Exception, e: warning = QMessageBox.warning( None, "Database error", "Erro da consulta no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def btnDelAccount_clicked(self): res = QMessageBox.warning(None, self.trUtf8("Confirmation"), self.trUtf8("""Are you absolutely sure that you want to erase <b>all</b> data inside this account (i.e. all the blogs and posts)?"""), self.trUtf8("&Yes"), self.trUtf8("&No"), None, 0, -1) if res == 0: acc = self.settings.accountByName(str(self.lbAccounts.currentText())) del self.settings.Accounts[self.settings.Accounts.index(acc)] self.settings.save() self.fillList()
def selectAll(self): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() selectAll = u"select * from Registro;" cursor.execute(selectAll) return cursor.fetchall() except Exception, e: warning = QMessageBox.warning( None, "Database error", u"Erro de seleção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def select(self, objeto): try: banco = sqlite3.connect('banco.db') cursor = banco.cursor() delete = u'''select * from Solicitacao where ("registro" = %d);''' % objeto[ 'id'] cursor.execute(delete) return cursos.fetchall() except Exception, e: warning = QMessageBox.warning( None, "Database error", "Erro da consulta no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def delete(self, objeto): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() delete = u'''delete from Solicitacao where ("registro" = %d);''' % objeto['id'] cursor.execute(delete) banco.commit() except Exception, e: warning = QMessageBox.warning( None, "Database error", "Erro ao remover do banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def __dguardarfichero(self): """Pregunta al usuario en que fichero guardar""" filterlist = "" for fmt in ["dro"]: #Candidata al fichero de listas filterlist = filterlist + "%s files (*.%s);;" % (fmt, fmt.lower()) nombrefichero = QFileDialog.getSaveFileName(QString.null, filterlist, self) filename = str(nombrefichero) if filename: from Driza.excepciones import FicheroExisteException, \ FicheroTipoDesconocidoException try: self.__gestorsalida.guardar(self.__contenido, filename) except FicheroExisteException,fichero: codigoretorno = QMessageBox.information(self, 'Atencion:', 'El fichero' +\ fichero.fichero + ' ya existe' , 'Sobreescribir', \ 'Otro nombre', 'Cancelar', 0, 1) if codigoretorno == 0: self.__gestorsalida.guardar(self.__contenido, filename, True) elif codigoretorno == 1: self.__dguardarfichero() except FicheroTipoDesconocidoException: QMessageBox.warning(self, u'Atención', \ u'La extensión del fichero es incorrecta.\nPruebe con otra extensión')
def insert(self, objeto): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() insert = u'''insert into Registro (id, registro, tipo, nome, curso, data_registro, data_saida, status, observacoes) values (%d,%d,%d,"%s","%s","%s","%s",%d,"%s");''' % ( objeto['id'], objeto['registro'], objeto['tipo'], objeto['nome'], objeto['curso'], objeto['data_registro'], objeto['data_saida'], objeto['status'], objeto['observacoes'],) cursor.execute(insert) banco.commit() return True except Exception, e: warning = QMessageBox.warning(None, "Database error", u"Erro de inserção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def update(self, objeto): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() update = u'''update Solicitacao set ( "id"=%d, "nome"="%s", "curso"="%s", "data"="%s", "certidao"=%d, "declaracao"=%d, "diploma"=%d, "historico"=%d, "outros"=%d, "urgencia"=%d, "observacoes"="%s" ) where (registro = %d);''' % ( objeto['id'], objeto['nome'], objeto['curso'], objeto['data'], objeto['certidao'], objeto['declaracao'], objeto['diploma'], objeto['historico'], objeto['outros'], objeto['urgencia'], objeto['observacoes'],) cursor.execute(update) banco.commit() return True except Exception, e: warning = QMessageBox.warning(None, "Database error", "Erro de atualização no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def select(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() select = u'''select * from Registro where ("registro" = %d);''' % object[ 'registro'] cursor.execute(select) return cursor.fetchall() except Exception, e: warning = QMessageBox.warning( None, "Database error", u"Erro de seleção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def update(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() update = u'''update Registro set ( "tipo"=%d, "nome"=%s, "curso"=%s, "data_registro"=%s, "status"=%d, "observacoes"=%s ) where (registro = %d);''' % ( object['tipo'], object['nome'], object['curso'], object['data_registro'], object['data_saida'], object['status'], object['observacoes'], object['registro']) cursor.execute(update) banco.commit() return True except Exception, e: warning = QMessageBox.warning(None, "Database error", u"Erro na atualização do banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def delete(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() delete = '''delete from User where ("cpf" = %d);''' % object['cpf'] cursor.execute(delete) banco.commit() except Exception, e: warning = QMessageBox.warning( None, "Database error", "Erro ao remover do banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def __open(self, txt, btn): filename = str(QFileDialog.getOpenFileName(None , \ "Images (*.png *.jpg *.gif)", \ self, \ "open image file", \ "Choose a file to open" )) txt.setText(filename) ok = False try: pic = QPixmap() if pic.loadFromData(open(filename, "rb").read()): ok = True if not str(self.editWidth.text()): self.editWidth.setText(str(pic.width())) if not str(self.editHeight.text()): self.editHeight.setText(str(pic.height())) self.previewImage.setPixmap(pic) btn.setEnabled(True) except: ok = False if not ok: QMessageBox.warning(self, "Warning", "Cannot open the image file!") self.previewImage.setPixmap(QPixmap()) btn.setEnabled(False)
def select(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() delete = '''select * from User where ("cpf" = %d)''' % object['cpf'] cursor.execute(delete) return cursor.fetchall() except Exception, e: warning = QMessageBox.warning( None, "Database error", "Erro da consulta no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def update(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() update = '''update User set ( "nome"="%s", "email"="%s", "login"="%s", "senha"="%s", "autenticacao"=%d, "admin"=%d ) where (cpf = %d);''' % ( object['cpf'], object['nome'], object['email'], object['login'], object['senha'], object['autenticacao'], object['admin']) cursor.execute(update) banco.commit() return True except Exception, e: warning = QMessageBox.warning( None, "Database error", "Erro de atualização no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def update(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() update = u'''update Registro set ( "tipo"=%d, "nome"=%s, "curso"=%s, "data_registro"=%s, "status"=%d, "observacoes"=%s ) where (registro = %d);''' % ( object['tipo'], object['nome'], object['curso'], object['data_registro'], object['data_saida'], object['status'], object['observacoes'], object['registro']) cursor.execute(update) banco.commit() return True except Exception, e: warning = QMessageBox.warning( None, "Database error", u"Erro na atualização do banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def insert(self, object): try: banco = sqlite.connect('banco.db') cursor = banco.cursor() insert = '''insert into User ('cpf', 'nome', 'email', 'login', 'senha', 'autenticacao', 'admin') values ( '%d', '%s', '%s', '%s', '%s', '%d', '%d' );''' % ( object['cpf'], object['nome'], object['email'], object['login'], object['senha'], object['autenticacao'], object['admin']) cursor.execute(insert) banco.commit() return True except Exception, e: print e warning = QMessageBox.warning( None, "Database error", u"Erro de inserção no banco de dados. O erro foi:\n\n%s" % e, QMessageBox.Ok) return ~warning
def closeDialogSlot(self): """ Closes the dialog for the currently displayed data type. """ if self._dataTypeView.isContentChanged(): result = QMessageBox.warning( self._parentFrame, self._parentFrame.tr("DataFinder: Unsaved Changes"), "Save changes?", self._parentFrame.tr("Save"), self._parentFrame.tr("Discard"), self._parentFrame.tr("Cancel"), 0, 2) # Cancel or close of dialog by window handle if result == -1 or result == 2: #returnValue = False pass # Save elif result == 0: self.saveSlot() # Discard: close elif result == 1: self._dataTypeView.close() else: self._dataTypeView.close()