def ExportarReportes(filename, reportes: list): Logger = logger() workbook = Workbook() currentShet = workbook.active currentShet.title = "Pagina 1" for i, reporte in enumerate(reportes): border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin')) filler = PatternFill(fill_type='solid', start_color=Logica.findHEX(reporte.nivel), end_color=Logica.findHEX(reporte.nivel)) currentShet["A%s" % (i + 1).__str__()].fill = filler currentShet["A%s" % (i + 1).__str__()].border = border currentShet["B%s" % (i + 1).__str__()] = reporte.nombreVariable currentShet["C%s" % (i + 1).__str__()] = reporte.nombreDispositivo currentShet["D%s" % (i + 1).__str__()] = reporte.fecha currentShet["E%s" % (i + 1).__str__()] = reporte.hora currentShet["F%s" % (i + 1).__str__()] = reporte.condicion currentShet["G%s" % (i + 1).__str__()] = reporte.usuario currentShet["H%s" % (i + 1).__str__()] = reporte.value.__str__() currentShet["I%s" % (i + 1).__str__()] = reporte.mensaje try: import os workbook.save(filename=filename) fileNameStr = os.path.splitext(filename)[0] os.rename(filename, fileNameStr + '.xlsx') return True except Exception as e: Logger.log_error(e) return False
def LeerConfiguracion(): Logger = logger() try: with open("%s/Sistema SCADA/setting.json" % Logica.__program_files, "r") as f: jsonFile = json.load(f) jsonFile["URI"] = "%s://%s" % ( jsonFile["HTTP_PROTOCOL"], jsonFile["Host"] ) if jsonFile["Port"] is None else "%s://%s:%s" % ( jsonFile["HTTP_PROTOCOL"], jsonFile["Host"], jsonFile["Port"]) f.close() return jsonFile except Exception as e: # Si no existe lo crea Logger.log_error( Exception( "¡Error! No pudo leerse el archivo de configuracion, Generando uno nuevo" )) settings = { "Host": "127.0.0.1", "Port": 8080, "HTTP_PROTOCOL": "http" } with open("%s/Sistema SCADA/setting.json" % Logica.__program_files, "w") as f: f.write(json.dumps(settings)) f.close() settings["URI"] = "%s://%s" % ( settings["HTTP_PROTOCOL"], settings["Host"] ) if settings["Port"] is None else "%s://%s:%s" % ( settings["HTTP_PROTOCOL"], settings["Host"], settings["Port"]) return settings
def fileToJSON(fileName): Logger = logger() try: with open(fileName, 'r') as f: file = json.loads(f.read()) return file except Exception as e: Logger.log_error(e) return None
def __init__(self, fn, *args, **kwargs): # fn: Function to be executed super(Worker, self).__init__() self.fn = fn self.args = args self.kwargs = kwargs self.signals = WorkerSignals() self.logger = logger() self.setAutoDelete(True)
def imageToByteArray(fileName): Logger = logger() from base64 import b64encode try: with open(fileName, 'rb') as f: file = b64encode(f.read()) return file.decode() except Exception as e: Logger.log_error(e) return None
def GuardarConfiguracionesLocal(settings): try: with open("%s/Sistema SCADA/setting.json" % Logica.__program_files, "w") as f: f.write(json.dumps(settings)) f.close() return True except Exception as e: Logger = logger() Logger.log_error(e) return False
def JSONToFile(fileName: str, jsonData): Logger = logger() try: import os with open(fileName, 'w+') as f: f.write(json.dumps(jsonData)) f.close() fileNameStr = os.path.splitext(fileName)[0] os.rename(fileName, fileNameStr + '.json') return True except Exception as e: Logger.log_error(e) return False