def efectuar_medicion(self, metodo): fs = 48000 try: respuesta_impulsional = self.medir_respuesta_impulsional_action.execute( metodo, fs) try: medicion = self.obtener_medicion_completa( respuesta_impulsional, fs) mensaje = Mensaje(destinatario="VistaPrincipal", mensaje="MedicionCompleta", paquete=medicion) self.queue.put(mensaje) return None except LundebyException: mensaje = Mensaje(destinatario="VistaPrincipal", mensaje="LundebyException") self.queue.put(mensaje) return None except DispositivoInaccesibleException: mensaje = Mensaje(destinatario="VistaPrincipal", mensaje="DispositivoInaccesible") self.queue.put(mensaje)
def efectuar_calculo(self, respuesta_impulsional, fs): try: medicion = self.obtener_medicion_completa(respuesta_impulsional, fs) mensaje = Mensaje(destinatario="VistaDetallada", mensaje="CalculoCompleto", paquete=medicion) self.queue.put(mensaje) return None except LundebyException: mensaje = Mensaje(destinatario="VistaDetallada", mensaje="LundebyException") self.queue.put(mensaje) return None
def escribir_book(self, book, path): from src.core.domain.coordinador_de_vistas import CoordinadorDeVistas CoordinadorDeVistas.mostrar_vista("VistaPantallaEsperaExportar") book.save_as(path) self.queue.put( Mensaje(destinatario="VistaPrincipal", mensaje="ExportacionCompleta"))
def guardar_archivo(self, medicion): dialogo = DialogoExportarMedicion() try: with self.abrir_dialogo(dialogo) as archivo: ri = medicion.get_respuesta_impulsional() cd = medicion.get_curva_decaimiento() edt = medicion.get_edt() t20 = medicion.get_t20() t30 = medicion.get_t30() curvatura = medicion.get_curvatura() book = OrderedDict() book["Respuesta impulsional"] = self.generar_sheet_senal(ri) book["Curva de decaimiento"] = self.generar_sheet_senal(cd) book["Tiempos de reverberación"] = self.generar_sheet_rts( edt, t20, t30, curvatura) book_excel = pyexcel.get_book(bookdict=book) thread_exportar = Thread(target=self.escribir_book, args=( book_excel, archivo.name, ), daemon=False) thread_exportar.start() except IOException: print("Archivo inaccesible o dialogo cancelado") self.pantalla_principal_subject.on_next( Mensaje(destinatario="VistaPrincipal", mensaje="ExportacionCancelada"))
def parsear_datos(self, datos_string): datos_separados = datos_string.split("$") datos_separados.pop(0) fs = int(datos_separados[0]) valores_ri = self.parsear_lista_flotantes(datos_separados[1]) valores_cd = self.parsear_lista_flotantes(datos_separados[2]) valores_edt = self.parsear_lista_flotantes(datos_separados[3]) valores_t20 = self.parsear_lista_flotantes(datos_separados[4]) valores_t30 = self.parsear_lista_flotantes(datos_separados[5]) curvatura = float(datos_separados[6]) ri = SenalAudio(fs, valores_ri) cd = SenalAudio(fs, valores_cd) edt = self.constrruir_rt(valores_edt) t20 = self.constrruir_rt(valores_t20) t30 = self.constrruir_rt(valores_t30) medicion = Medicion(ri, cd, edt, t20, t30, curvatura, nivel=True) self.queue.put(Mensaje(destinatario="VistaPrincipal", mensaje="CargaCompleta", paquete=medicion))
def cerrar_pantalla_espera(self): mensaje_cerrar_pantalla_espera = Mensaje("VistaPantallaEsperaMedir", "Cerrar") self.pantalla_espera_subject.on_next(mensaje_cerrar_pantalla_espera) self.desbloquear_controles()
def on_cerrar_ventana(self): mensaje_activar_boton = Mensaje(destinatario="VistaPrincipal", mensaje="ActivarBotonVistaDetallada") self.pantalla_principal_subject.on_next(mensaje_activar_boton) self.view.ocultar_vista()
def on_cerrar_ventana(self): mensaje_activar_boton = Mensaje(destinatario="VistaDetallada", mensaje="ActivarBotonInstrucciones") self.vista_detallada_subject.on_next(mensaje_activar_boton) self.view.ocultar_vista()