def entrar(): print( "-=-=-=-=-=-=-=-=-=-= Validando USUARIO - AM SUBLIMAÇÃO -=-=-=-=-=-=-=-=-=-=-=-=-=" ) db = sqlite3.connect('pass.db') cursor = db.cursor() cursor.execute('SELECT data, user, senha FROM users') caderno = cursor.fetchall() print('---------- DIGITE SEU LOGIN E SENHA ----------') login = input("LOGIN: "******"SENHA: ") os.system("clear") conta = 0 for indice, dado in enumerate(caderno): if login == dado[1] and senha == dado[2]: conta += 1 if conta == 0: os.system("clear") print(f"LOGIN ou SENHA Incorreto!\n\n\n\n") main() else: Sistema.main()
def del_produto(ordem): db = sqlite3.connect('produtos.db') cursor = db.cursor() sn = input(f"Você deseja mesmo excluir um item da OS Nº{ordem}? S ou N: " ).upper().strip() if sn in "S": if ordem != '': listar_produtos(ordem) ide = input("Digite o ID: ") try: cursor.execute( f'''DELETE FROM produtos WHERE id="{int(ide)}"''') db.commit() except: print("ERRO!") Sistema.visualiza_todos() else: print("ERRO! Digite o número da OS.") else: print("Voltando ao Menu Principal.") Sistema.main()
def __init__(self, master=None): self.largura = 800 self.altura = 800 #master.resizable(0, 0) # Tela de tamanho fixo self.fontePadrao = ('Arial', '12') self.sistema = Sistema() self.countainerLogo = Frame(master) self.countainerLogo['pady'] = 50 # distancia das bordas self.countainerLogo.grid_propagate( 0 ) # (0)Desliga (1)Liga e não deixe que os widgets dentro do controle quadro do seu tamanho self.countainerLogo.grid() # plota no formado de grade self.titulo = Label(self.countainerLogo, text='LOGO', font=self.fontePadrao) self.titulo.pack()
def main(): filesInf = rf.readFile(fileName="../input/input.dat") # ... nCells = filesInf['ndiv'] nPoints = filesInf['ndiv'] + 1 length = filesInf['length'] preName = filesInf['output'] nStep = filesInf['nstep'] # ...................................................................... # ... gera o grid x, xc, cells, dx = gr.grid(length, nPoints, nCells) # ...................................................................... # ... timeSist = timeWres = timeSolver = 0.e0 # ... t = 0.0 dt = filesInf['dt'] k = np.full(nCells, filesInf['prop'][0], dtype=float) ro = np.full(nCells, filesInf['prop'][1], dtype=float) cp = np.full(nCells, filesInf['prop'][2], dtype=float) cc = np.array([filesInf['cce'], filesInf['ccd']]) sQ = np.zeros(nCells, dtype=float) a = np.zeros((nCells, 3), dtype=float) # u = np.zeros(nCells, dtype = float) # d = np.zeros(nCells, dtype = float) # l = np.zeros(nCells, dtype = float) b = np.zeros(nCells, dtype=float) nodeTemp = np.zeros(nPoints, dtype=float) cellTemp = np.full(nCells, filesInf['initialt'], dtype=float) # ................................................................. # ... fileResCell = open(preName + '_cell.python', 'w') fileResNode = open(preName + '_node.python', 'w') # ................................................................. # ... gr.nodalInterpol(cells, cc, cellTemp, nodeTemp, nCells, nPoints) # ................................1................................. # ... time0 = tm.time() gr.res(0, 0.0, xc, nCells, fileResCell) gr.res(0, 0.0, x, nPoints, fileResNode) timeWres += tm.time() - time0 # ................................................................. # ... temperatura inicial time0 = tm.time() gr.res(0, 0.0, cellTemp, nCells, fileResCell) gr.res(0, 0.0, nodeTemp, nPoints, fileResNode) timeWres += tm.time() - time0 # ................................................................. # ... print("Running ...") for j in range(1, nStep + 1): # ... # print("Step : {0}\nTime(s) : {1}".format(j, t)) t += dt # ............................................................. # ... monta sistema time0 = tm.time() si.montaSistema(a, b, cellTemp, sQ, k, ro, cp, dt , cc,\ dx, nCells) # si.montaSistema_v2(l, d, u, b, cellTemp, sQ, k, ro, cp, dt , cc,\ # dx, nCells) timeSist += tm.time() - time0 # ............................................................. # ... Ax = B time0 = tm.time() trn.tdma_solver1_numpy(a, b, cellTemp, nCells) # trn.tdma_solver3_numpy(l, d, u, b, cellTemp, nCells) timeSolver += tm.time() - time0 # ............................................................. # ... gr.nodalInterpol(cells, cc, cellTemp, nodeTemp, nCells, nPoints) # ................................1................................. # ... temperatura inicial time0 = tm.time() gr.res(j, t, cellTemp, nCells, fileResCell) gr.res(j, t, nodeTemp, nPoints, fileResNode) timeWres += tm.time() - time0 # ................................................................. # ................................................................. # ... print("done.") # ................................................................. # ... print("Time Sist(s) : {0:.4f}\n"\ "Time Solver(s) : {1:.4f}\n"\ "Time Wres(s) : {2:.4f}".format(timeSist, timeSolver, timeWres)) # ................................................................. # ... fileResCell.close() fileResNode.close()
from flask import Flask from flask import render_template from flask import redirect from flask import request from Persona import * from Sistema import * from Vuelo import * from Avion import * import json from datetime import * from Funciones import * s = Sistema() d = {} d = traerArchivo("datos.json") listaAviones = generarListaAviones(d) listaPersonas = generarListaPersonas(d, listaAviones) listaVuelos = generarListaVuelos(d, listaPersonas, listaAviones) s.cargar(listaPersonas, listaVuelos, listaAviones) app = Flask(__name__, static_url_path='/static') @app.route('/') def Index(): return redirect("/paginaPrincipal.html") @app.route('/paginaPrincipal.html')
from Persona import * from Sistema import * from Vuelo import * from Avion import * import json from datetime import * from Funciones import * s = Sistema() d = {} d = traerArchivo("datos.json") listaAviones = generarListaAviones(d) listaPersonas = generarListaPersonas(d, listaAviones) listaVuelos = generarListaVuelos(d, listaPersonas, listaAviones) s.cargar(listaPersonas, listaVuelos, listaAviones) print("\n", "PASAJEROS") for item in listaPersonas: printDatosPersona(item, True) print("\n", "Pasajeros Jovenes y Lista por Vuelo") for item in listaVuelos: print("Vuelo", item.avion.modelo) pasajeroJoven = item.pasajeroJoven() for meti in item.listaPasajeros: if meti == pasajeroJoven: print(meti.nombre, "|", meti.apellido, "|", meti.fechaNac.date(), "|*") else:
def add_produtos(ordem): print("-=-=-=--=-=-=-= Adicionando Produtos -=-=-=-=-=-=-=-=-=") itens = [] item = 1 total_parcial = 0 #total = 0 while True: valor_UNI = input("Valor Uni(R$): ") descricao = input("Produto Descrição: ") qtde = input("Quantidade: ") if valor_UNI and qtde.isnumeric(): valor_UNI = float(valor_UNI) qtde = int(qtde) total_parcial = qtde * valor_UNI try: itens.append(ordem) itens.append(item) itens.append(float(valor_UNI)) itens.append(descricao) itens.append(int(qtde)) itens.append(total_parcial) if os.path.isfile('produtos.db'): db = sqlite3.connect('produtos.db') cursor = db.cursor() cursor.execute('''INSERT INTO produtos\ (os, item, valor_UNI, descricao, qtde, total_parcial)VALUES(?,?,?,?,?,?)''',\ (itens[0], itens[1], itens[2], itens[3], itens[4], itens[5])) #total += itens[5] db.commit() sn = input("Deseja cadastrar mais um produto? S ou N: " ).upper().strip() if sn in "S": item += 1 itens.clear() total_parcial = 0 continue else: # Varrendo a OS para saber seu total subtotais = 0 db = sqlite3.connect('produtos.db') cursor = db.cursor() cursor.execute( 'SELECT os, item, valor_UNI, descricao, qtde, total_parcial FROM produtos' ) caderno = cursor.fetchall() for indice, valores in enumerate(caderno): if ordem == valores[0]: subtotais += valores[-1] #print(subtotais) # Atualizando Tabela de ordens pra atualizar o valor total. db = sqlite3.connect('OSclientes.db') cursor = db.cursor() cursor.execute( 'SELECT data, nome, ordem, valor, entrada FROM ordens' ) #caderno = cursor.fetchall() cursor.execute(f""" UPDATE ordens SET valor = '{subtotais}' WHERE ordem= '{ordem}' """) db.commit() print("Voltando ao Menu Principal.") Sistema.main() break else: print('Inicializando novo Banco de Dados.') # Cria o arquivo connection db = sqlite3.connect('produtos.db') # Cria o cursor cursor = db.cursor() # Cria a tabela para a classe my_manager, e indica as três variáveis de dentro dela. cursor.execute('''CREATE TABLE produtos (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, os TEXT, item INTEGER, valor_UNI REAL, descricao TEXT, qtde INTEGER, total_parcial REAL)''') print('Banco de Dados criado com Sucesso..') db = sqlite3.connect('produtos.db') cursor = db.cursor() cursor.execute('''INSERT INTO produtos\ (os, item, valor_UNI, descricao, qtde, total_parcial)VALUES(?,?,?,?,?,?)''',\ (itens[0], itens[1], itens[2], itens[3], itens[4], itens[5])) db.commit() total += itens[5] sn = input("Deseja cadastrar mais um produto? S ou N: " ).upper().strip() if sn in "S": item += 1 itens.clear() total_parcial = 0 total = 0 continue else: db = sqlite3.connect('OSclientes.db') cursor = db.cursor() cursor.execute( 'SELECT data, nome, ordem, valor, entrada FROM ordens' ) #caderno = cursor.fetchall() cursor.execute(f""" UPDATE ordens SET valor = '{total}' WHERE ordem= '{ordem}' """) db.commit() print("Voltando ao Menu Principal.") Sistema.main() break except: print("ERRO! Dados Inválidos!") else: print("É necessário preencher todas as casas.")
class TelaLogin(): def __init__(self, master=None): self.janelaLogin = Tk() self.janelaLogin.title('Login') self.largura = 300 self.altura = 200 #master.resizable(0, 0) # Tela de tamanho fixo self.fontePadrao = ('Arial', '12') self.sistema = Sistema() self.countainerLogo = Frame(master) self.countainerLogo['pady'] = 50 # distancia das bordas self.countainerLogo.grid_propagate( 0 ) # (0)Desliga (1)Liga e não deixe que os widgets dentro do controle quadro do seu tamanho self.countainerLogo.grid() # plota no formado de grade self.titulo = Label(self.countainerLogo, text='LOGO', font=self.fontePadrao) self.titulo.pack() self.countainerFormulario = Frame(master) self.countainerFormulario['pady'] = 50 self.countainerFormulario.grid() self.nomeLabel = Label(self.countainerFormulario, text='Nome:', font=self.fontePadrao) self.nomeLabel.grid( row=0, column=0, padx=10, pady=0 ) # Seleciona a liha e a coluna na tela e as bordas de distancia self.nome = Entry(self.countainerFormulario) self.nome['width'] = 20 self.nome['font'] = self.fontePadrao self.nome.grid(row=0, column=1, padx=10, pady=10) self.campoSenhaLabel = Label(self.countainerFormulario, text='Senha:', font=self.fontePadrao) self.campoSenhaLabel.grid(row=1, column=0, padx=10, pady=0) self.campoSenha = Entry(self.countainerFormulario) self.campoSenha['width'] = 20 self.campoSenha['font'] = self.fontePadrao self.campoSenha.grid(row=1, column=1, padx=10, pady=10) self.btnLogin = Button(self.countainerFormulario) self.btnLogin['text'] = 'Login' self.btnLogin['bg'] = 'green' self.btnLogin['fg'] = 'white' self.btnLogin['font'] = self.fontePadrao self.btnLogin['width'] = 20 self.btnLogin['command'] = self.autenticacao self.btnLogin.grid(row=2, column=1, padx=10, pady=10) self.countainerAddFuncionario = Frame(master) self.countainerAddFuncionario['pady'] = 10 self.countainerAddFuncionario.grid() self.btnCadastraFuncionario = Button(self.countainerAddFuncionario) self.btnCadastraFuncionario['text'] = 'Cadastrar' self.btnCadastraFuncionario['bg'] = 'black' self.btnCadastraFuncionario['fg'] = 'white' self.btnCadastraFuncionario['font'] = self.fontePadrao self.btnCadastraFuncionario['width'] = 10 self.btnCadastraFuncionario['command'] = self.cadastrarFuncionario self.btnCadastraFuncionario.grid(row=0, column=0, padx=10, pady=10) self.btnRemoveFuncionario = Button(self.countainerAddFuncionario) self.btnRemoveFuncionario['text'] = 'Remover' self.btnRemoveFuncionario['bg'] = 'red' self.btnRemoveFuncionario['fg'] = 'white' self.btnRemoveFuncionario['font'] = self.fontePadrao self.btnRemoveFuncionario['width'] = 10 self.btnRemoveFuncionario['command'] = self.removeFuncionario self.btnRemoveFuncionario.grid(row=0, column=1, padx=10, pady=10) self.janelaLogin.mainloop() def autenticacao(self): ''' Verifica se contem o nome e a campoSenha na lista de funcionarios na classe Sistema ''' if self.nome.get() != '' and self.campoSenha.get() != '': if self.sistema.login(self.nome.get(), self.campoSenha.get()): result = tkmsg.showinfo(title='Meu dialogo showinfo', message='Login realizado com sucesso') self.sair() janelaPrincipal = Tk() TelaPrincipal(janelaPrincipal) janelaPrincipal.mainloop() else: result = tkmsg.showinfo(title='Meu dialogo showinfo', message='Nome ou Senha invalidos') def sair(self): ''' Destroi a tela atual ''' self.janelaLogin.destroy() def cadastrarFuncionario(self): self.janelaLogin.destroy() self.janelaCadastraFuncionario = Tk() self.janelaCadastraFuncionario.title('Cadastra Funcionario') self.countainerFormulario = Frame() self.countainerFormulario['pady'] = 50 self.countainerFormulario.grid() self.nomeLabel = Label(self.countainerFormulario, text='Nome:', font=self.fontePadrao) self.nomeLabel.grid( row=0, column=0, padx=10, pady=0 ) # Seleciona a liha e a coluna na tela e as bordas de distancia self.campoNome = Entry(self.countainerFormulario) self.campoNome['width'] = 20 self.campoNome['font'] = self.fontePadrao self.campoNome.grid(row=0, column=1, padx=10, pady=10) self.campoSenhaLabel = Label(self.countainerFormulario, text='Senha:', font=self.fontePadrao) self.campoSenhaLabel.grid(row=1, column=0, padx=10, pady=0) self.campoSenha = Entry(self.countainerFormulario) self.campoSenha['width'] = 20 self.campoSenha['font'] = self.fontePadrao self.campoSenha.grid(row=1, column=1, padx=10, pady=10) self.btnCadastraFuncionario = Button(self.countainerFormulario) self.btnCadastraFuncionario['text'] = 'Cadastrar' self.btnCadastraFuncionario['bg'] = 'green' self.btnCadastraFuncionario['fg'] = 'white' self.btnCadastraFuncionario['font'] = self.fontePadrao self.btnCadastraFuncionario['width'] = 20 self.btnCadastraFuncionario['command'] = self.confirmaCadastro self.btnCadastraFuncionario.grid(row=2, column=1, padx=10, pady=10) self.janelaCadastraFuncionario.mainloop() def confirmaCadastro(self): ''' Faz o cadastro do Funcionario e fecha a janela de cadastro. ''' if self.campoNome.get() != '' and self.campoSenha.get() != '': self.sistema.cadastraFuncionario(self.campoNome.get(), self.campoSenha.get()) self.sistema.salvaArquivo() resultado = tkmsg.showinfo(title='Confirmação', message='Cadastrado com sucesso!') #self.sistema.abreArquivoFuncionarios() self.janelaCadastraFuncionario.destroy() TelaLogin() else: resultado = tkmsg.showinfo(title='Meu dialogo showinfo', message='Nome ou Senha invalidos') def removeFuncionario(self): self.janelaLogin.destroy() self.janelaRemoveFuncionario = Tk() self.janelaRemoveFuncionario.title('Remove Funcionario') self.countainerFormulario = Frame() self.countainerFormulario['pady'] = 50 self.countainerFormulario.grid() self.nomeLabel = Label(self.countainerFormulario, text='Nome:', font=self.fontePadrao) self.nomeLabel.grid( row=0, column=0, padx=10, pady=0 ) # Seleciona a liha e a coluna na tela e as bordas de distancia self.campoNome = Entry(self.countainerFormulario) self.campoNome['width'] = 20 self.campoNome['font'] = self.fontePadrao self.campoNome.grid(row=0, column=1, padx=10, pady=10) self.btnRemoveFuncionario = Button(self.countainerFormulario) self.btnRemoveFuncionario['text'] = 'Remover' self.btnRemoveFuncionario['bg'] = 'red' self.btnRemoveFuncionario['fg'] = 'white' self.btnRemoveFuncionario['font'] = self.fontePadrao self.btnRemoveFuncionario['width'] = 20 self.btnRemoveFuncionario['command'] = self.confirmaRemocao self.btnRemoveFuncionario.grid(row=2, column=1, padx=10, pady=10) self.janelaRemoveFuncionario.mainloop() def confirmaRemocao(self): ''' Faz a remoção de um Funcionario e fecha a janela de remoção. ''' if self.campoNome.get() != '': if self.sistema.removeFuncionario(self.campoNome.get()): self.sistema.salvaArquivo() tkmsg.showinfo(title='Confirmação', message='Removido com sucesso!') self.janelaRemoveFuncionario.destroy() TelaLogin() else: tkmsg.showinfo(title='Confirmação', message='Funcionario não existe') self.janelaRemoveFuncionario.destroy() TelaLogin() else: tkmsg.showinfo(title='Confirmação', message='Nome invalido')
def __init__(self, master=None): self.janelaLogin = Tk() self.janelaLogin.title('Login') self.largura = 300 self.altura = 200 #master.resizable(0, 0) # Tela de tamanho fixo self.fontePadrao = ('Arial', '12') self.sistema = Sistema() self.countainerLogo = Frame(master) self.countainerLogo['pady'] = 50 # distancia das bordas self.countainerLogo.grid_propagate( 0 ) # (0)Desliga (1)Liga e não deixe que os widgets dentro do controle quadro do seu tamanho self.countainerLogo.grid() # plota no formado de grade self.titulo = Label(self.countainerLogo, text='LOGO', font=self.fontePadrao) self.titulo.pack() self.countainerFormulario = Frame(master) self.countainerFormulario['pady'] = 50 self.countainerFormulario.grid() self.nomeLabel = Label(self.countainerFormulario, text='Nome:', font=self.fontePadrao) self.nomeLabel.grid( row=0, column=0, padx=10, pady=0 ) # Seleciona a liha e a coluna na tela e as bordas de distancia self.nome = Entry(self.countainerFormulario) self.nome['width'] = 20 self.nome['font'] = self.fontePadrao self.nome.grid(row=0, column=1, padx=10, pady=10) self.campoSenhaLabel = Label(self.countainerFormulario, text='Senha:', font=self.fontePadrao) self.campoSenhaLabel.grid(row=1, column=0, padx=10, pady=0) self.campoSenha = Entry(self.countainerFormulario) self.campoSenha['width'] = 20 self.campoSenha['font'] = self.fontePadrao self.campoSenha.grid(row=1, column=1, padx=10, pady=10) self.btnLogin = Button(self.countainerFormulario) self.btnLogin['text'] = 'Login' self.btnLogin['bg'] = 'green' self.btnLogin['fg'] = 'white' self.btnLogin['font'] = self.fontePadrao self.btnLogin['width'] = 20 self.btnLogin['command'] = self.autenticacao self.btnLogin.grid(row=2, column=1, padx=10, pady=10) self.countainerAddFuncionario = Frame(master) self.countainerAddFuncionario['pady'] = 10 self.countainerAddFuncionario.grid() self.btnCadastraFuncionario = Button(self.countainerAddFuncionario) self.btnCadastraFuncionario['text'] = 'Cadastrar' self.btnCadastraFuncionario['bg'] = 'black' self.btnCadastraFuncionario['fg'] = 'white' self.btnCadastraFuncionario['font'] = self.fontePadrao self.btnCadastraFuncionario['width'] = 10 self.btnCadastraFuncionario['command'] = self.cadastrarFuncionario self.btnCadastraFuncionario.grid(row=0, column=0, padx=10, pady=10) self.btnRemoveFuncionario = Button(self.countainerAddFuncionario) self.btnRemoveFuncionario['text'] = 'Remover' self.btnRemoveFuncionario['bg'] = 'red' self.btnRemoveFuncionario['fg'] = 'white' self.btnRemoveFuncionario['font'] = self.fontePadrao self.btnRemoveFuncionario['width'] = 10 self.btnRemoveFuncionario['command'] = self.removeFuncionario self.btnRemoveFuncionario.grid(row=0, column=1, padx=10, pady=10) self.janelaLogin.mainloop()
def __init__(self): """Contructor de la interfaz de usuario""" self.builder = Gtk.Builder() """Carga del archivo .glade que contiene las ventanas de la IU""" self.builder.add_from_file("./Glade/UIversion9.glade") """Conexion de la senales especificadas en el archivo .glade con las funciones de la presente clase""" self.builder.connect_signals(self) """Variables utiles en la clase App""" """Utilizada para almacenar las posiciones del carrusel ya ocupadas""" self.Posiciones_ocupadas = [] """Identificador y contador de pacientes ingresados""" self.ID = 1 """Carga de los gif que aparecen en algunas pantallas""" animacion = GdkPixbuf.PixbufAnimation.new_from_file( "./Glade/cargando.gif") self.imagen = Gtk.Image() self.imagen.set_from_animation(animacion) animacion2 = GdkPixbuf.PixbufAnimation.new_from_file( "./Glade/Trabajando4.gif") self.imagen2 = Gtk.Image() self.imagen2.set_from_animation(animacion2) """Carga de las imagenes que conforman el boton de informe""" self.botonInformeOFF = GdkPixbuf.Pixbuf.new_from_file( './Glade/botonnodisponible2.png') self.botonInformeON = GdkPixbuf.Pixbuf.new_from_file( './Glade/botondisponible.png') """A continuacion se rescatan las ventanas principales alojadas en el archivo .glade""" """Bienvenida""" self.w1 = self.builder.get_object("Bienvenida") self.box = self.builder.get_object("box2") self.box.add(self.imagen) """Cargando""" self.w2 = self.builder.get_object("Cargando") """VENTANA DE MENUS PRINCIPALES""" self.w3 = self.builder.get_object("MenuPpal") """VENTANA DE INICIO DEL DIA1""" self.w4 = self.builder.get_object("InicioDia1") self.w41 = self.builder.get_object("InicioDia2") """DEMOSTRACION""" self.w5 = self.builder.get_object("Demostracion1") self.w51 = self.builder.get_object("Demostracion2") self.box1 = self.builder.get_object("box7") self.box1.add(self.imagen2) """VENTANA DE INICIO DE RUTINA""" self.w6 = self.builder.get_object("InicioRutina1") self.w61 = self.builder.get_object("Informe") self.w61a = self.builder.get_object("textoInforme") self.w6a = self.builder.get_object("cellrendererInforme") """VENTANA DE ADMINISTRADOR""" self.w7 = self.builder.get_object("Administrador") self.w71 = self.builder.get_object("OperacionesManuales") self.w71a = self.builder.get_object("OM_Punta") self.w71b = self.builder.get_object("OM_Carruseles") self.w71c = self.builder.get_object("OM_Dilutor") self.w71d = self.builder.get_object("Warning_dialog") """VENTANA DE FIN DE DIA""" self.w8 = self.builder.get_object("FinDeDia1") self.w81 = self.builder.get_object("FinDeDia2") """Luego se obtienen subestructuras dentro de las ventana de Lista de pacientes (InicioRutina)""" self.Tree = self.builder.get_object("treeview") self.Lista = self.builder.get_object("Lista") """Constantes que indican la posiciones del dato especificado dentro de la lista creada""" self.LObject = 0 self.LPaciente = 1 self.LID = 2 self.LFecha = 3 self.LEdad = 4 self.LTest = 5 self.LPosicion = 6 self.LPrioridad = 7 self.LProgreso = 8 self.LInforme = 9 """Apartado de configuracion del estilo de las ventanas: Forma de botones, colores, etc. Se utiliza el lenguaje de programacion CSS""" screen = Gdk.Screen.get_default() css_provider = Gtk.CssProvider() css_provider.load_from_path('./Glade/prueba.css') context = Gtk.StyleContext() context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER) """Muesta la primera ventana""" self.w1.show_all() self.autoanalizador = Sistema()
class App(): """Clase que crea la interfaz con el usuario""" def __init__(self): """Contructor de la interfaz de usuario""" self.builder = Gtk.Builder() """Carga del archivo .glade que contiene las ventanas de la IU""" self.builder.add_from_file("./Glade/UIversion9.glade") """Conexion de la senales especificadas en el archivo .glade con las funciones de la presente clase""" self.builder.connect_signals(self) """Variables utiles en la clase App""" """Utilizada para almacenar las posiciones del carrusel ya ocupadas""" self.Posiciones_ocupadas = [] """Identificador y contador de pacientes ingresados""" self.ID = 1 """Carga de los gif que aparecen en algunas pantallas""" animacion = GdkPixbuf.PixbufAnimation.new_from_file( "./Glade/cargando.gif") self.imagen = Gtk.Image() self.imagen.set_from_animation(animacion) animacion2 = GdkPixbuf.PixbufAnimation.new_from_file( "./Glade/Trabajando4.gif") self.imagen2 = Gtk.Image() self.imagen2.set_from_animation(animacion2) """Carga de las imagenes que conforman el boton de informe""" self.botonInformeOFF = GdkPixbuf.Pixbuf.new_from_file( './Glade/botonnodisponible2.png') self.botonInformeON = GdkPixbuf.Pixbuf.new_from_file( './Glade/botondisponible.png') """A continuacion se rescatan las ventanas principales alojadas en el archivo .glade""" """Bienvenida""" self.w1 = self.builder.get_object("Bienvenida") self.box = self.builder.get_object("box2") self.box.add(self.imagen) """Cargando""" self.w2 = self.builder.get_object("Cargando") """VENTANA DE MENUS PRINCIPALES""" self.w3 = self.builder.get_object("MenuPpal") """VENTANA DE INICIO DEL DIA1""" self.w4 = self.builder.get_object("InicioDia1") self.w41 = self.builder.get_object("InicioDia2") """DEMOSTRACION""" self.w5 = self.builder.get_object("Demostracion1") self.w51 = self.builder.get_object("Demostracion2") self.box1 = self.builder.get_object("box7") self.box1.add(self.imagen2) """VENTANA DE INICIO DE RUTINA""" self.w6 = self.builder.get_object("InicioRutina1") self.w61 = self.builder.get_object("Informe") self.w61a = self.builder.get_object("textoInforme") self.w6a = self.builder.get_object("cellrendererInforme") """VENTANA DE ADMINISTRADOR""" self.w7 = self.builder.get_object("Administrador") self.w71 = self.builder.get_object("OperacionesManuales") self.w71a = self.builder.get_object("OM_Punta") self.w71b = self.builder.get_object("OM_Carruseles") self.w71c = self.builder.get_object("OM_Dilutor") self.w71d = self.builder.get_object("Warning_dialog") """VENTANA DE FIN DE DIA""" self.w8 = self.builder.get_object("FinDeDia1") self.w81 = self.builder.get_object("FinDeDia2") """Luego se obtienen subestructuras dentro de las ventana de Lista de pacientes (InicioRutina)""" self.Tree = self.builder.get_object("treeview") self.Lista = self.builder.get_object("Lista") """Constantes que indican la posiciones del dato especificado dentro de la lista creada""" self.LObject = 0 self.LPaciente = 1 self.LID = 2 self.LFecha = 3 self.LEdad = 4 self.LTest = 5 self.LPosicion = 6 self.LPrioridad = 7 self.LProgreso = 8 self.LInforme = 9 """Apartado de configuracion del estilo de las ventanas: Forma de botones, colores, etc. Se utiliza el lenguaje de programacion CSS""" screen = Gdk.Screen.get_default() css_provider = Gtk.CssProvider() css_provider.load_from_path('./Glade/prueba.css') context = Gtk.StyleContext() context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER) """Muesta la primera ventana""" self.w1.show_all() self.autoanalizador = Sistema() def abrir_ventana_cargando(self, widget, data=None): """Senal que se ejecuta al clickear sobre la primer ventana. Oculta ventana anterior y abre la siguiente """ #print("Bandera") #sleep(4) #self.w3.show_all() self.w1.hide() self.w2.show_all() #self.w2.show_all() def abrir_menu_principal(self, widget, data=None): """Funcion que se ejecuta al presionar click sobre la ventana anterior""" #print("Bandera1") self.w2.hide() self.w3.show_all() def abrir_inicio_dia(self, widget, data=None): """Funcion que se ejecuta al presionar click sobre la ventana anterior. Oculta la anterior y muestra una serie de necesarios pasos que se realizan al iniciar el dia.""" #print("Bandera2") self.w3.hide() self.w4.show_all() def abrir_inicio_dia_2(self, widget, data=None): """Funcion que se ejecuta al presionar click sobre la ventana anterior. Oculta la anterior y muestra una serie de necesarios pasos que se realizan al iniciar el dia.""" #print("Bandera2") self.w4.hide() self.w41.show_all() self.autoanalizador.Inicio_dia() def abrir_demo(self, widget, data=None): """Funcion que se ejecuta al presionar click sobre la ventana anterior. Oculta la anterior y abre una nueva en la que se solicitan que se realizen ciertas acciones para iniciar una rutina demostrativa precargada.""" self.w3.hide() self.w5.show_all() def abrir_demo2(self, widget, data=None): """Funcion que se ejecuta al presionar click sobre la ventana anterior. Oculta la anterior y abre una nueva en la que se solicitan que se realizen ciertas acciones para iniciar una rutina demostrativa precargada.""" self.w5.hide() self.w51.show_all() self.autoanalizador.Demostracion() def abrir_inicio_rutina(self, widget, data=None): """Funcion que se ejecuta al presionar click sobre la ventana anterior. Oculta la anterior y abre una nueva en la que se solicitan que se realizen ciertas acciones para iniciar una rutina demostrativa precargada.""" self.w3.hide() self.w6.show_all() def comenzar(self, widget, data=None): #Rutina comenzar autoanalizador.Rutina() def abrir_administrador(self, widget, data=None): self.w3.hide() self.w7.show_all() def abrir_operaciones_manuales(self, widget, data=None): self.w7.hide() self.w71.show_all() self.w71d.run() self.w71d.hide() def abrir_OM_Punta(self, widget, data=None): self.w71a.show_all() self.w71.hide() def mover_punta_a_estacion_muestra(self, widget, data=None): self.autoanalizador.mover_punta_a_estacion_muestra() print "Moviento punta a estación muestra" def mover_punta_a_estacion_reactivos(self, widget, data=None): self.autoanalizador.mover_punta_a_estacion_reactivos() print "Moviento punta a estación muestra" def mover_punta_a_estacion_lavado(self, widget, data=None): self.autoanalizador.mover_punta_a_estacion_lavado() print "Moviento punta a estación muestra" def mover_punta_a_estacion_dispensado_de_mezcla(self, widget, data=None): self.autoanalizador.mover_punta_a_estacion_dispensado_de_mezcla() print "Moviento punta a estación muestra" def abrir_OM_Carruseles(self, widget, data=None): self.w71b.show_all() self.w71.hide() def mover_carrusel_M(self, widget, data=None): self.autoanalizador.mover_carrusel_M(data.get_text()) print "Moviendo a posicion M" def mover_carrusel_R(self, widget, data=None): self.autoanalizador.mover_carrusel_R(data.get_text()) print "Moviendo a posicion R" def abrir_OM_Dilutor(self, widget, data=None): self.w71c.show_all() self.w71.hide() def aspirar_volumen(self, widget, data): print data.get_text() self.autoanalizador.aspirar_volumen(data.get_text()) def dispensar_volumen(self, widget, data): print data.get_text() self.autoanalizador.dispensar_volumen(data.get_text()) def abrir_fin_dia(self, widget, data=None): """Funcion que se ejecuta al presionar click sobre la ventana anterior. Oculta la anterior y muestra una serie de necesarios pasos que se realizan al iniciar el dia.""" self.w2.hide() self.w8.show_all() def abrir_fin_dia2(self, widget, data=None): self.w8.hide() self.w81.show_all() self.autoanalizador.Inicio_dia() def abrir_informe(self, widget, event): """Senial que abre una ventana con el infome del paciente sele ccionado""" path_array = widget.get_path_at_pos(event.x, event.y) path = path_array[0][0] col = path_array[1] col_title = col.get_title() if (col_title == 'Informe de Resultado'): selection = self.Tree.get_model() iter_selection = selection.get_iter(path) Paciente = self.Lista.get_value(iter_selection, 0) Paciente.Progreso = 100 rep = Paciente.generar_Informe() self.w61a.get_buffer().set_text(rep) self.Lista.set_value(iter_selection, self.LInforme, self.botonInformeON) self.Lista.set_value(iter_selection, self.LProgreso, 100) self.w61.show_all() def on_Dlg_DatosPaciente_clicked(self, widget, data=None): """Senal que se activa dentro de la ventana de inicio rutina #al presionar el boton de anadir paciente. Se abre una ventana de dialogo con los campos a completar sobre este nuevo paciente""" DialogoAdd = Ventana_dialogo() """Creacion de nuevo objeto de la clase Ventana_dialogo, que maneja la informacion obtenida de los cuadros de dialogos""" Respuesta, Nuevo_paciente = DialogoAdd.run() """La funcion run() de la clase Ventana dialogo retorna la #respuesta (SI/NO guardar nuevo paciente) y un objeto del tipo paciente que contiene los datos ingresados""" print Respuesta print Nuevo_paciente if Respuesta == -5: self.ID += 1 print Nuevo_paciente.ID if (Nuevo_paciente.ID == 0): Nuevo_paciente.ID = self.ID """Asignacion del ID UNICO""" if (Nuevo_paciente.Prioridad): """Si la prioridad es True, se ubica al paciente primero en la lista de trabajos""" self.Lista.insert(0, Nuevo_paciente.Obtener_Lista()) else: self.Lista.append(Nuevo_paciente.Obtener_Lista()) """Si la prioridad es False, se coloca al nuevo paciente al final de la lista""" def on_Dlg_Editar_clicked(self, widget, data=None): """Se activa al seleccionar un paciente de la lista y clickear en el boton EDITAR, en caso de que quiera modificarse algun valor ingresado.""" selection = self.Tree.get_selection() model, selection_iter = selection.get_selected() """Se toman los datos existentes y se precargan en la misma ventana de dialogo que se genera al carrgar un nuevo paciente""" if (selection_iter): Paciente_Seleccionado = self.Lista.get_value(selection_iter, 0) DialogoAdd = Ventana_dialogo(Paciente_Seleccionado) Respuesta, Nuevo_paciente = DialogoAdd.run() if (Respuesta == -5): self.Lista.set( selection_iter, self.LObject, Nuevo_paciente, self.LPaciente, (Nuevo_paciente.Nombre + " " + Nuevo_paciente.Apellido), self.LID, Nuevo_paciente.ID, self.LFecha, Nuevo_paciente.Fecha, self.LEdad, Nuevo_paciente.Edad, self.LTest, Nuevo_paciente.Test, self.LPosicion, Nuevo_paciente.Posicion, self.LPrioridad, Nuevo_paciente.Prioridad) if (Nuevo_paciente.Prioridad): self.Lista.move_after(selection_iter, None) else: self.Lista.move_before(selection_iter, None) def on_eliminar_paciente(self, widget, data=None): """Elimina el paciente seleccionado de la lista de trabajos""" selection = self.Tree.get_selection() model, selection_iter = selection.get_selected() Pos_eliminada = self.Lista.get_value(selection_iter, self.LPosicion) self.Posiciones_ocupadas.remove(Pos_eliminada) self.Lista.remove(selection_iter) def on_ocultar(self, widget, data=None): self.w61.hide() self.w71a.hide() self.w71b.hide() self.w71c.hide() self.w3.show_all() def volver_menu(self, widget, data=None): """Retorno al menu principal""" self.w4.hide() self.w41.hide() self.w5.hide() self.w51.hide() self.w6.hide() self.w7.hide() self.w71.hide() self.w8.hide() self.w81.hide() self.w3.show_all() def cerrar_ventana(self, widget): Gtk.main_quit()
list.append(persona) elif type(persona) is Azafatas and Azafata: list.append(persona) return list def DoyDatosVuelo(vuelo): print(vuelo.avion.modelo, vuelo.origen, vuelo.destino, vuelo.fecha, vuelo.hora) for item in vuelo.listPasajeros: print("Pasajeros: ", item.dni) for item in vuelo.listTripu: print("Tripulacion: ", item.dni) s = Sistema() j = {} j = ConseguirData("datos.json") listAviones = ObteniendoAviones(j) listPersonas = ObteniendoPersona(j, listAviones) listVuelos = ObteniendoVuelos(j, listPersonas, listAviones) s.CargarList(listVuelos, listAviones, listPersonas) print("Los pasajeros sonm :") for item in listPersonas: DoyDatosPersona(item, True) print("\n-------------------------------------------------")
def main(): filesInf = rf.readFile(fileName="../input/newton.dat") # ... nCells = filesInf['ndiv'] nPoints = filesInf['ndiv'] + 1 length = filesInf['length'] preName = filesInf['output'] nStep = filesInf['nstep'] # ...................................................................... # ... gera o grid x, xc, cells, dx = gr.grid(length, nPoints, nCells) # ...................................................................... # ... timeSist = timeWres = timeSolver = 0.e0 # ... t = 0.0 dt = filesInf['dt'] k = nCells * [filesInf['prop'][0]] ro = nCells * [filesInf['prop'][1]] cp = nCells * [filesInf['prop'][2]] cc = [filesInf['cce'], filesInf['ccd']] sQ = nCells * [0.0] a = [[0.0, 0.0, 0.0] for x in range(nCells)] b = nCells * [0.0] nodeTemp = nPoints * [0.0] cellTemp = nCells * [filesInf['initialt']] # ................................................................. # ... fileResCell = open(preName +'_cell.python', 'w') fileResNode = open(preName +'_node.python', 'w') # ................................................................. # ... gr.nodalInterpol(cells, cc, cellTemp, nodeTemp, nCells, nPoints) # ................................1................................. # ... time0 = tm.time() gr.res(0, 0.0, xc, nCells, fileResCell) gr.res(0, 0.0, x, nPoints, fileResNode) timeWres += tm.time() - time0 # ................................................................. # ... temperatura inicial time0 = tm.time() gr.res(0, 0.0, cellTemp, nCells, fileResCell) gr.res(0, 0.0, nodeTemp, nPoints, fileResNode) timeWres += tm.time() - time0 # ................................................................. # ... print("Running ...") for j in range(1,nStep+1): # ... # print("Step : {0}\nTime(s) : {1}".format(j, t)) t += dt # ............................................................. # ... monta sistema time0 = tm.time() si.montaSistema(a, b, cellTemp, sQ, k, ro, cp, dt , cc,\ dx, nCells) timeSist += tm.time() - time0 # ............................................................. # ... Ax = B time0 = tm.time() tr.tdma_solver1(a, b, cellTemp, nCells) timeSolver += tm.time() - time0 # ............................................................. # ... gr.nodalInterpol(cells, cc, cellTemp, nodeTemp, nCells, nPoints) # ................................1................................. # ... temperatura inicial time0 = tm.time() gr.res(j, t, cellTemp, nCells, fileResCell) gr.res(j, t, nodeTemp, nPoints, fileResNode) timeWres += tm.time() - time0 # ................................................................. # ................................................................. # ... print("done.") # ................................................................. # ... print("Time Sist(s) : {0:.4f}\n"\ "Time Solver(s) : {1:.4f}\n"\ "Time Wres(s) : {2:.4f}".format(timeSist, timeSolver, timeWres)) # ................................................................. # ... fileResCell.close() fileResNode.close()
from Sistema import * sistema = Sistema() def inicio(vuelo): respusta = ("Este es el vuelo: %s - %s " % (vuelo.origen, vuelo.destino)) return respusta def ejercicio1(vuelo): respuesta = "Tripulacion del vuelo: %s - %s \n" % (vuelo.origen, vuelo.destino) \ + sistema.mostrarPasajeroEnVuelo(vuelo) return respuesta def ejercicio2(vuelo): respuesta = ("El pasajero mas joven es: " + sistema.mostrarPasajeroMasJovenEnVuelo(vuelo).nombre + " " + sistema.mostrarPasajeroMasJovenEnVuelo(vuelo).apellido) return respuesta def ejercicio3(vuelo): tripulacion = sistema.mostrarminimaTripulacion(vuelo) if tripulacion != None: respuesta = ( "Vuelo %s - %s cumple con la cantidad de tripulacion necesaria" %