def analize(self): self.refresh() entrada = "" entrada = self.txt_entrada.get( "1.0", END) # variable de almacenamiento de la entrada result = interpreter.execution(entrada) self.lexicalErrors = result["lexical"] self.syntacticErrors = result["syntax"] self.semanticErrors = result["semantic"] self.postgreSQL = result["postgres"] self.ts = result["symbols"] if (len(self.lexicalErrors) + len(self.syntacticErrors) + len(self.semanticErrors) + len(self.postgreSQL) > 0): tkinter.messagebox.showerror( title="Error", message="La consulta contiene errores") if len(self.postgreSQL) > 0: i = 0 self.text_Consola.insert(INSERT, "-----------ERRORS----------" + "\n") while i < len(self.postgreSQL): self.text_Consola.insert(INSERT, self.postgreSQL[i] + "\n") i += 1 querys = result["querys"] self.show_result(querys) messages = result["messages"] if len(messages) > 0: i = 0 self.text_Consola.insert(INSERT, "-----------MESSAGES----------" + "\n") while i < len(messages): self.text_Consola.insert(INSERT, str(messages[i]) + "\n") i += 1 self.tabControl.pack()
def MetodoParser(self, texto): #DECLARAR RETORNO salida = "" # EJECUTAR PARSER result = interpreter.execution(texto) self.lexicalErrors = result["lexical"] self.syntacticErrors = result["syntax"] self.semanticErrors = result["semantic"] self.postgreSQL = result["postgres"] self.ts = result["symbols"] self.indexes = result["indexes"] if (len(self.lexicalErrors) + len(self.syntacticErrors) + len(self.semanticErrors) + len(self.postgreSQL) > 0): if len(self.postgreSQL) > 0: i = 0 salida += "================================================== \n" salida += " TYTUS ERROR \n" salida += "================================================== \n" while i < len(self.postgreSQL): salida += ">> " + str(self.postgreSQL[i]) + "\n" i += 1 querys = result["querys"] messages = result["messages"] if len(messages) > 0: i = 0 salida += "==================================================\n" salida += " TYTUS \n" salida += "================================================== \n" while i < len(messages): salida += ">> " + str(messages[i]) + "\n" i += 1 return salida
def parse(self, input): obj = execution(input) #print(obj['messages']) result = None try: result = obj['querys'][0][1][0][0] except: return None return result
def analize(self): self.refresh() entrada = "" entrada = self.txt_entrada.get( "1.0", END) # variable de almacenamiento de la entrada result_c3d = interpreter.getc3d(entrada) result = interpreter.execution(entrada) self.lexicalErrors = result["lexical"] self.syntacticErrors = result["syntax"] self.semanticErrors = result["semantic"] self.postgreSQL = result["postgres"] self.ts = result["symbols"] if (len(self.lexicalErrors) + len(self.syntacticErrors) + len(self.semanticErrors) + len(self.postgreSQL) > 0): tkinter.messagebox.showerror( title="Error", message="La consulta contiene errores") if len(self.postgreSQL) > 0: i = 0 self.text_Consola.insert(INSERT, "-----------ERRORS----------" + "\n") while i < len(self.postgreSQL): self.text_Consola.insert(INSERT, self.postgreSQL[i] + "\n") i += 1 querys = result["querys"] '''for consult in querys: salidaTabla = PrettyTable() encabezados = consult[0] salidaTabla.field_names = encabezados cuerpo = consult[1] salidaTabla.add_rows(cuerpo) print(salidaTabla) print("\n") print("\n") ''' #print('Imprimiendo querys') #print(querys) self.show_result(querys) #messages = result["messages"] #if len(messages) > 0: # i = 0 # self.text_Consola.insert(INSERT, "-----------MESSAGES----------" + "\n") # while i < len(messages): # self.text_Consola.insert(INSERT, str(messages[i]) + "\n") # i += 1 self.text_Consola.insert( INSERT, "-----------Codigo 3 Direcciones----------" + "\n") codigo = result_c3d["codigo"] self.text_Consola.insert(INSERT, codigo) self.Codigo3Direcciones = codigo self.text_Consola.insert(INSERT, "main()" + "\n") self.tabControl.pack()
print("waiting for connection") #obj = interpreter.execution("create database prueba3; use prueba1; drop table cliente ; create table cliente(id integer primary key);"); #print(obj) #print("send data") #json_data = json.dumps(obj, sort_keys=False, indent=2) #print("data %s" % json_data) connection, client_address = serv.accept() try: print(client_address) while True: data = connection.recv(4096) print(data.decode('utf-8')) #recibimos el script del query tool y la decodificamos a utf 8 scritp_sql = data.decode('utf-8') #Realiza la interpretacion obj = interpreter.execution(scritp_sql) temp = {"obj": obj, "databases": importFile("Databases")} json_data = json.dumps(temp, sort_keys=False, indent=2) #Imprimimos el json desde el server print("data %s" % json_data) if data: #connection.sendall(pickle.dumps(obj)) #mandamos la data obtenida del analisis como obj json connection.sendall(json_data.encode()) else: print("end data") break finally: connection.close()
def ejecucion(): texto = request.json['sexo'] resp = execution(texto) return jsonify( response = resp )
def parse(self, input): obj = execution(input) print(obj['messages']) return obj['value']