Exemple #1
0
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()
Exemple #2
0
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()
Exemple #3
0
    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()
Exemple #5
0
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:
Exemple #7
0
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()
Exemple #10
0
    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()
Exemple #11
0
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-------------------------------------------------")
Exemple #13
0
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()
Exemple #14
0
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" %