def registrarCliente(self): if(self.cliente == None): self.imprimir("Bienvenido!!!, debe registrarse antes de usar esto") nombre = input("Ingrese su nombre: ") apellido = input("Ingrese su apellido: ") edad = input("ingrese su edad: ") self.cliente = Cliente(nombre,apellido,edad)
def btnSalvar(self): #ESTANCIANDO A CLASSE CLIENTE self.c = Cliente() #PEGANDO OS VALORES DOS CAMPOS DE TEXTO DO FORMULARIO nome = self.txtnome.get() cpf = self.txtcpf.get() tel = self.txttelefone.get() cel = self.txtcelular.get() rua = self.txtrua.get() + '-' + self.txtnum.get() bairro = self.txtbairro.get() cidade = self.txtcidade.get() estado = self.cmbestado.get() cep = self.txtcep.get() self.c.inserirDados(nome, cpf, tel, cel, rua, bairro, cidade, estado, cep) self.confirmacao = messagebox.askokcancel( 'Confirmação', 'Deseja salvar esse cliente?') if self.confirmacao: try: self.result = self.c.cadUser() if self.result: self.form.destroy() print('Cliente Cadastrado com sucesso') messagebox.showinfo('Sucesso', 'Cliente cadastrado com sucesso!') else: messagebox.showinfo('Erro', 'Erro ao cadastrar o cliente') except: messagebox.showinfo('ERRO', 'Erro no banco de dados')
def login(self): real = False with open("passwords.420", "rb") as f: usuarios = pickle.load(f) if self.userNameText.text() not in usuarios.keys(): QtGui.QMessageBox.question( self, "", "la contraseña o el usuario son invalidos", QtGui.QMessageBox.Accepted) return else: for i in usuarios: if check_password(usuarios[i], self.passwordNameText.text() ) and self.userNameText.text() == i: real = True print("correcto") if not real: QtGui.QMessageBox.question( self, "", "la contraseña o el usuario son invalidos", QtGui.QMessageBox.Accepted) return self.hide() self.cliente = Cliente(self.userNameText.text()) self.hide() self.cliente.show()
def gera_entradas(self): tMedioEntreChegadas = float(self.config['tMedioEntreChegadas']) tMedioAtendimento = float(self.config['tMedioAtendimento']) if self.config['distTEC'] == 'exponencial': distTEC = list( map(round, r.exponential(tMedioEntreChegadas, size=10000))) elif self.config['distTEC'] == 'normal': distTEC = list( map(round, r.normal(tMedioEntreChegadas, size=10000))) else: distTEC = [tMedioEntreChegadas for _ in range(10000)] if self.config['distServico'] == 'exponencial': distServico = list( map(round, r.exponential(tMedioAtendimento, size=10000))) elif self.config['distServico'] == 'normal': distServico = list( map(round, r.normal(tMedioAtendimento, size=10000))) else: distServico = [tMedioAtendimento for _ in range(100000)] tempoAtual = 0 self.clientes = [] self.clientes.append(Cliente(0, distServico.pop(0))) while tempoAtual + distTEC[0] <= int(self.config['tTotaldeSimulacao']): tempoAtual += distTEC.pop(0) novoCliente = Cliente(int(tempoAtual), int(distServico.pop(0))) self.clientes.append(novoCliente)
class Controlador(object): #----Método que crea una interfaz y un cliente, funciona como intermediario para la interfaz def set_controlador(self, master): GUI(master, self) self.cliente = Cliente() self.cliente.crea_socket() #----Método que conecta al cliente, mas tarde es usado en la interfaz def action(self, tupla): self.cliente.conecta(tupla) #----Método que llama al método que recibe del cliente def recibe(self): self.cliente.recibe_mensaje() #----Método que llama al método para manejar eventos del cliente def envia(self, e): r = e.get() s = "PUBLICMESSAGE " + r + "\n" self.cliente.maneja_evento(s) #----Método usado para identificar al cliente, llamado por un "Entry" en la interfaz def identify(self, e): nombre = e.get() s = "IDENTIFY " + nombre + "\n" self.cliente.maneja_evento(s)
def actualizardatos(): if (request.method=="POST"): nombre=request.form['nombre'] apellidoPaterno = request.form['apellidoPaterno'] apellidoMaterno = request.form['apellidoMaterno'] correo = request.form['correo'] usuario = request.form['usuario'] fechaN = request.form['fechaN'].split("-") fechaN = datetime.date(int(fechaN[0]), int(fechaN[1]), int(fechaN[2])) genero=request.form['genero'] cli=Colaborador(idColaborador=session["idCol"]) print(3333) cli.obtenercolaborador() if((cli.verificarUnique(variable=usuario)==1 and cli.verificarUnique(varaible=correo)==1) or (cli.nombreUsuario==usuario and cli.correo==correo) or (cli.nombreUsuario==usuario and cli.verificarUnique(variable=correo)==1) or (cli.verificarUnique(variable=usuario)==1 and cli.correo==correo)): print(11111111111111111) cli.nombre,cli.apellidoPaterno,cli.apellidoMaterno,cli.correo,cli.nombreUsuario,cli.fechaNacimiento,cli.genero=nombre,apellidoPaterno,apellidoMaterno,correo,usuario,fechaN,genero cli.actualizarcolaborador() print(cli.fechaNacimiento) else: if(Cliente.verificarUnique(usuario)==0): flash("el usuario ya esta en uso") elif(Cliente().verificarUnique(correo)==0): flash("el correo ya esta en uso") return redirect(url_for("comercio.datos"))
class Inicio(QtGui.QWidget): def __init__(self, parent=None): super(Inicio, self).__init__(parent) self.userNameText = QtGui.QLineEdit(self) self.passwordNameText = QtGui.QLineEdit(self) self.pushButtonWindow = QtGui.QPushButton(self) self.pushButtonWindow.setText("Iniciar Sesión") self.pushButtonSign = QtGui.QPushButton(self) self.pushButtonSign.setText("Crear cuenta nueva") self.usernameLabel = QtGui.QLabel("Username", self) self.passwordLabel = QtGui.QLabel("Password", self) self.signinLabel = QtGui.QLabel("¿No tienes una cuenta?") self.layout = QtGui.QVBoxLayout(self) self.layout.addWidget(self.usernameLabel) self.layout.addWidget(self.userNameText) self.layout.addWidget(self.passwordLabel) self.layout.addWidget(self.passwordNameText) self.layout.addWidget(self.pushButtonWindow) self.layout.addWidget(self.signinLabel) self.layout.addWidget(self.pushButtonSign) self.pushButtonWindow.clicked.connect(self.login) self.pushButtonSign.clicked.connect(self.signin) def login(self): real = False with open("passwords.420", "rb") as f: usuarios = pickle.load(f) if self.userNameText.text() not in usuarios.keys(): QtGui.QMessageBox.question( self, "", "la contraseña o el usuario son invalidos", QtGui.QMessageBox.Accepted) return else: for i in usuarios: if check_password(usuarios[i], self.passwordNameText.text() ) and self.userNameText.text() == i: real = True print("correcto") if not real: QtGui.QMessageBox.question( self, "", "la contraseña o el usuario son invalidos", QtGui.QMessageBox.Accepted) return self.hide() self.cliente = Cliente(self.userNameText.text()) self.hide() self.cliente.show() def signin(self): self.signin = Signin() self.hide() self.signin.show()
def eliminar_cliente_controller(self): """Controlador para eliminar un cliente""" listado = self.traer_clientes() dni = self.vista.eliminar_cliente(listado) cliente = Cliente() cliente.dni = dni cliente.delete() self.vista.confirmar_eliminar_cliente() self.cliente_controller()
def datos(): cli = Cliente(idCliente=session["id"]) cli.obtenerCliente() print(cli.idCliente) lista = [ cli.nombre, cli.apellidoPaterno, cli.apellidoMaterno, cli.correo, str(cli.telefono), cli.nombreUsuario, cli.fechaNacimiento, cli.genero ] print(lista[4], 444) return render_template("datos.html", session=session["id"], cliente=lista)
def main(): clienti = [Cliente] * 5 pizzaioli = [Pizzaiolo] * 2 pizzeria = Pizzeria(10, 10) for c in clienti: c = Cliente(pizzeria) c.start() for p in pizzaioli: p = Pizzaiolo(pizzeria) p.start()
def test_set_telefone_erro(): print("test_set_telefone_erro") c = Cliente('nome', 99999999, '*****@*****.**') try: c.set_telefone('não é telefone') except TypeError: assert True except Exception: assert False, 'Não lançou um TypeError para telefone inválido' else: assert c.get_telefone() == 99999999
def test_set_email_erro(): print("test_set_email_erro") c = Cliente('nome', 99999999, '*****@*****.**') try: c.set_email('não é email') except ValueError: assert True except Exception: assert False, 'Não lançou um ValueError para email inválido' else: assert c.get_email() == '*****@*****.**'
def __init__(self, HOST ,PORT): #listaclientes =[] lista_clientes = [] s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST,PORT)) s.listen(1) conn,addr= s.accept() print addr lista_clientes.append(addr) # print "recebendo o arquivo..." c = Cliente() ho=addr[0] #host po=str(addr[1]) #porta do cliente self.savingHosts(ho,po) while 1: d=conn.recv(1024) print(d) da=d.split(",") #print da print "ta no servidor" #dados=base64.standard_b64decode(d) arq = open('pergunta.xml','wb') for i in da[0]: arq.write(i) arq.close() c.string_xml("pergunta.xml",1) c.enviar_arquivo(conn,"getfilesResponse.xml") # fazer a condição ainda, to mudando manualmente, se for get hosts é só mudar o nome do arquivo que deve ser enviado de volta conn.close() break """ if da[1] == '3': if self.arquivo(da[1],c): print "enviando o arquivo" c.enviar_arquivo(conn,da[1]) conn.close() else: conn.send("NE") #caso o arquivo nao seja encontrado break if da[1] == '2': #tentando enviar a lista de jogos aqui, solicitados pelo clieente la na classe cliente # texto=self.solicitaHost() print texto print " enviando resposta" break elif not d: """ print "saindo... do serve" conn.close()
def ler_cliente(codigo): if codigo == 1: return Cliente(204, codigo, "Daniel Silva", "Careado", "A", "", 0, "S", 1, "10:30") if codigo == 2: return Cliente(204, codigo, "Deise Rech", "Teisse", "A", "", 0, "S", 1, "11:30") if codigo == 3: return Cliente(204, codigo, "Otávio Coelho", "Otavião de Consumo", "A", "", 0, "S", 1, "09:30") if codigo == 4: return Cliente(204, codigo, "Vinícius de Borba", "Vini", "A", "", 0, "S", 1, "09:30")
def index(): try: cliente = session['id'] CLI = Cliente(idCliente=cliente) CLI.obtenerCliente() usuario = str(CLI.nombre) except: session['id'] = "" return render_template('index.html')
def ReceberMensagem(self, msg): if (self.__clienteAtual is None): id_usuario = msg['from']['id'] nm_usuario = (msg['from']['first_name']) self.__clienteAtual = Cliente(nm_usuario, id_usuario) self.__mensagemAtual = msg['text'] if(not self.__fechandoCompra): self.AtenderCliente(self.__mensagemAtual) else: self.DefineMetodoPagamento()
def excluirCliente(self): user = Cliente() user.idusuario = self.txtidusuario.get() self.lblmsg["text"] = user.deleteUser() self.txtidusuario.delete(0, END) self.txtnome.delete(0, END) self.txttelefone.delete(0, END) self.txtemail.delete(0, END) self.txtendereco.delete(0, END) self.txtnumero.delete(0, END)
def eliminar_cliente_controller(self): import sys app = QtWidgets.QApplication(sys.argv) EliminarCliente = QtWidgets.QMainWindow() """Controlador para eliminar un cliente""" listado = self.traer_clientes() # dni = self.vista.eliminar_cliente(listado) Ui_EliminarCliente().setupUi(EliminarCliente) dni = Ui_EliminarCliente().eliminar() cliente = Cliente() cliente.dni = dni cliente.delete() self.vista.confirmar_eliminar_cliente() self.cliente_controller()
def __init__(self): print "Menu\n" #falta pedir lista de hosts print "[1]Procurar arquivo na minha lista de amigos" print "[2] Receber listas de amigos " print "[3]receber arquivo" escolha=raw_input() if "1" == escolha: nome =raw_input("Diga o nome do arquivo") c = Cliente() #for e in s.lista_clientes: c.enviar(nome) if "3" ==escolha: s = Servidor()
def preencher_cliente(): i = 0 for x in mycolCliente.find({}, {"_id": 0, "id": 1}): y = (str(x).replace("{'id': '", '')) z = (y.replace("'}", '')) n = (int(z)) if i < n: i = n else: i = i i = i + 1 print("\nO ID do Cliente será: ", i) id = (str(i)) nome = (input('\nInforme a nome: ')) b = True while (b): cpf = (input('\nInforme o CPF: ')) b = Regex.valida_cpf(cpf) c = True while (c): c = ValidaRelacoes.valida_cpf_cliente_cad(cpf) if c == True: b = c c = False logradouro = (input('\nInforme o logradouro: ')) numero = (input('\nInforme o numero: ')) bairro = (input('\nInforme o bairro: ')) cep = (input('\nInforme o cep: ')) cidade = (input('\nInforme a cidade: ')) uf = (input('\nInforme o estado: ')) complemento = (input('\nInforme o complemento: ')) cliente = Cliente(id, nome, cpf, logradouro, numero, bairro, cep, cidade, uf, complemento) return cliente
def adicionar(self): nome = input('Digite o nome: ') idade = input('Digite a idade: ') email = input('Digite o email: ') cliente = Cliente(nome, idade, email) self.cadastro.adicionar(cliente)
def carrito(): session["selel"] = "" session["selet"] = "" print(session["id"] != "") if session["id"] != None and session["id"] != "": try: listas = Carrito(idCarrito=Cliente( idCliente=session["id"]).generarListaCarrito()[0] [0]).generarListaDetalleCarrito() listas = [ tuple(Producto(idProducto=x[2]).obtenerlistaProducto()) + x for x in listas ] except: listas = [] else: try: listas = [ tuple(Producto(idProducto=x[0]).obtenerlistaProducto()) + tuple(x) for x in session["Carrito"] ] except: listas = [] p = 0 if session["id"] == "" or session["id"] is None else 1 return render_template('carrito.html', lista=listas, session=p)
def __init__(self): super(MainWindow, self).__init__() self.fn_init_ui() self.t2sThread = T2SThread() #self.t2sThread = T2S() self.t2sThread.start() self.saludos = Saludos() #Declaración de Strings necesarios self.ListasEntendimiento = ListasEntendimiento() self.clientes = [] self.listaNombres = self.ListasEntendimiento.darListaNombres() self.listaPedidos = self.ListasEntendimiento.darListaPedidos() self.listaAfirmaciones = self.ListasEntendimiento.darListaAfirmaciones( ) self.listaNegaciones = self.ListasEntendimiento.darListaNegaciones() self.listaBartender = self.ListasEntendimiento.darListaBartender() self.listaAlternativas = self.ListasEntendimiento.darListaAlternativas( ) self.totalClientes = 1 self.alternativas = "agua o cerveza" self.alternativaReemplazo = "" self.clienteFaltante = Cliente("Juan José", "una gaseosa", "no esta listo")
def addCliente(): header("Adicionando Novo Cliente") try: nome = input("Digite o nome do Cliente: ") if nome.isalpha() == False: raise ValueError("Nome precisa ser do tipo str") return None idade = int(input("Digite a Idade do Cliente: ")) credEspecial = input("Deseja utilizar credito especial na conta? (S) sim ou (N) nao: ") conta = int(input("Digite o numero da Conta do Cliente: ")) myConta = None if credEspecial == "S": # agencia = int(input("Digite o numero da Agencia: ")) myConta = ContaCorrente(123, conta) elif credEspecial == "N": myConta = ContaPoupanca(123, conta) else: print("Opção inválida para o credito especial") return None print("Agencia: {}".format(myConta.agencia())) return Cliente(nome, idade, myConta) except ValueError: print("Valores inseridos invalidos. Insira valores validos nos campos.") return None
def cadastrarCliente(self, request_parameters): """ Cria o cliente mas so o adiciona na lista de clientes quando é verificado a existencia de seu CPF na lista, se seu cpf é numerico e se tem 11 digitos. Apos isso conta do cliente é cadastrada juntamente com a senha colocada.Por fim retorna True se deu certo juntamente com a quantidade de contas criadas. """ print("Cadastrando cliente") resposta = 'False' cliente = Cliente(request_parameters[0], request_parameters[1], request_parameters[2]) if cliente.cpf not in self.clientes and cliente.cpf.isdigit() and len( cliente.cpf) == 11: self.clientes[cliente.cpf] = cliente if self.cadastrarConta(Conta(cliente, request_parameters[3])): resposta = "True" resposta += "," resposta += str(Conta.qtd_de_contas()) return resposta
def objetoFaltante(self): self.csvfile_reader() self.clienteFaltante = Cliente("", "", "") for i in self.clientes: if i.darEstadoPedido() == "no esta listo": self.clienteFaltante = self.clientes[self.clientes.index(i)] return self.clienteFaltante
def teste_saque(): print("teste_saque") c = Cliente('nome', 99999999, '*****@*****.**') cc = Conta([c], 1, 100) cc.saque(50) assert cc.get_saldo() == 50, 'Saldo da conta incorreto' assert ('saque', 50) in cc.extrato(), 'Saque não registrado no extrato'
def getclientebyid(self, id): sql = "SELECT * FROM Clientes WHERE Id = '%d'" % (id) try: self.DBconection.execute(sql) results = self.DBconection.fetchall() fat_panda = pd.DataFrame(columns=[ "id", "nombre", "apellidos", "genero", "fecha nacimiento", "estado civil" ]) fat_panda["id"] = fat_panda["id"].astype(int) fat_panda["nombre"] = fat_panda["nombre"].astype(str) fat_panda["apellidos"] = fat_panda["apellidos"].astype(str) fat_panda["genero"] = fat_panda["genero"].astype(str) fat_panda["fecha nacimiento"] = fat_panda[ "fecha nacimiento"].astype(str) fat_panda["estado civil"] = fat_panda["estado civil"].astype(str) for row in results: temp = list(row) temp[4] = '{0:%Y-%m-%d}'.format(temp[4]) panda = pd.DataFrame([temp], columns=[ "id", "nombre", "apellidos", "genero", "fecha nacimiento", "estado civil" ]) fat_panda = pd.concat([fat_panda, panda], ignore_index=True) clientes = [] for index, row in fat_panda.iterrows(): cliente = Cliente(row["nombre"], row["apellidos"], row["genero"], row["fecha nacimiento"], row["estado civil"], row["id"]) clientes.append(cliente) return clientes[0] except: raise Exception("No se pudo extraer el cliente")
def obtenerOrden(self): database = sqlite3.connect("linioexp_parcial_lab3.db") try: cursor = database.cursor() query = ''' SELECT * from orden WHERE idOrden = '{}' '''.format(self.__idOrden) cursor.execute(query) lista = cursor.fetchall()[0] self.oCliente = Cliente(lista[1]).obtenerCliente() self.oRepartidor = Repartidor(lista[2]).obtenerRepartidor() self.oDireccionEntrega = LocalizacionCliente( lista[3]).obtenerLocalizacionCliente() self.__metodoPago = lista[4] self.oTarjeta = Tarjeta(lista[5]).obtenerTarjeta() self.__fechaRegistro = lista[6] self.__fechaEntrega = lista[7] self.__estado = lista[8] self.__tarifa = lista[9] except Exception as e: print("Error: {}".format(e)) finally: database.close()
def test_nao_cria_cliente_mail(): print("test_nao_cria_cliente_mail") try: Cliente('nome', 99999999, 'não é email') except ValueError: assert True except Exception: assert False, 'Não lançou ValueError para email inválido'
def teste_deposito(): print("teste_deposito") c = Cliente('nome', 99999999, '*****@*****.**') cc = Conta([c], 1, 100) cc.deposito(200) assert cc.get_saldo() == 300, 'Saldo da conta incorreto' assert ('deposito', 200) in cc.extrato(), 'Depósito não registrado no extrato'
def test_nao_cria_cliente_tel(): print("test_nao_cria_cliente_tel") try: Cliente('nome', 'não é número', '*****@*****.**') except TypeError: assert True except Exception: assert False, 'Não lançou TypeError para telefone inválido'
def __init__(self): HOST = "localhost" PORT = 57001 lista_clientes = [] s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "Escutando a porta..." s.bind((HOST,PORT)) s.listen(1) print "Aceitando a conexao..." conn,addr= s.accept() lista_clientes.append(addr) # print "recebendo o arquivo..." arq = open('arquivuns.mp3','wb') c = Cliente() ho=str(addr[0]) po=str(addr[1]) while 1: d=conn.recv(1024) da=d.split(",") print da #dados=base64.standard_b64decode(d) if da[0] == '1': if self.arquivo(da[1],c): #s.connect((ho,po)) c.enviar_arquivo(s,da[1]) s.send("nao encontrado") elif not d: break arq.write(d) print "saindo..." arq.close() conn.close()
def test_relatorio_clientes_satisfeitos(self): lista_clientes = [] lista_clientes.append(self.cliente) #criacao de novos clientes cliente2 = Cliente('Maria Maria', '(22) 66554423', 11402766802, True) cliente3 = Cliente('Manuel Silveira', '(22) 89765432', 11502766802, False) # adicionando novos clientes na lista de clientes lista_clientes.append(cliente2) lista_clientes.append(cliente3) # clientesSatisfeitos é um metodo estatíco da classe Cliente satisteitos = Cliente.clientesSatisfeitos(lista_clientes) devem_estar_satisfeitos = ['Joao Ernesto', 'Manuel Silveira'] self.assertEqual(satisteitos, devem_estar_satisfeitos)
cliente.terminate() #p1.terminate() break elif(orden == 'top'): if top: top = False else: top = True elif(orden == "conectar" and not conectado): op = raw_input("Elige modo: \n [1] Servidor \n [2] Cliente\n") if int(op) == 1: servidor = Servidor(9000,'localhost',1) servidor.run() conectado = True elif int(op) == 2: cliente = Cliente(9000,'localhost') cliente.run() conectado = True es_cliente = True else: pass elif(orden == "desconectar" and conectado): enviar_comando("desconectar") if es_cliente: cliente.finalizarconexion() cliente = None conectado = False es_cliente = False else: servidor.finalizarconexion() servidor = None
def cliente(self, escolha,nome): c=Cliente() return c.enviar(escolha,nome)
from Perro import Perro from Gato import Gato from Ave import Ave from Reptil import Reptil from Cliente import Cliente perro = Perro("Chico", "Rambo", 1) #print perro.presentarse() #print perro.comunicarse() gato = Gato("Gandalf", 1) #print gato.presentarse() ave = Ave("Piolin", 1) reptil = Reptil("Juancho", 1) cliente = Cliente("Mario") cliente.agregarMascota(perro) cliente.agregarMascota(gato) cliente.agregarMascota(ave) cliente.agregarMascota(reptil) print cliente.reporteMascotas()
def initUI(self): self.usuario, ok = QtGui.QInputDialog.getText(self,'Usuario','Ingresa Tu Nombre:') self.ipP, ok2 = QtGui.QInputDialog.getText(self, 'IP Personal','Ingresa tu direccion IP:') ipC, ok3 = QtGui.QInputDialog.getText(self, 'IP Servidor','Ingresa la direccion IP del servidor:') self.servidor = Servidor(self.ipP) self.cliente = Cliente(ipC) self.lista = self.conectarse() self.cont = QtGui.QTextEdit(self) self.cont.setText(self.lista) self.conv = QtGui.QTextEdit(self) self.conv.setText(self.servidor.conversacion) self.nuevaIP = QtGui.QTextEdit(self) self.msj = QtGui.QTextEdit(self) self.env = QtGui.QPushButton('Enviar', self) self.env.clicked.connect(self.enviar) self.act = QtGui.QPushButton('Actualizar', self) self.act.clicked.connect(self.mostrar) self.audio = QtGui.QPushButton('Audio', self) self.audio.clicked.connect(self.mandarAudio) self.video = QtGui.QPushButton('Video', self) self.video.clicked.connect(self.mandarVideo) self.actC = QtGui.QPushButton('Refrescar', self) self.actC.clicked.connect(self.refrescar) self.cambiarIP = QtGui.QPushButton('Cambiar IP', self) self.cambiarIP.clicked.connect(self.cambiarCliente) self.cerrar = QtGui.QPushButton('Cerrar Sesion', self) self.cerrar.clicked.connect(self.cerrarS) hbox = QtGui.QHBoxLayout() hbox.addStretch(1) vbox = QtGui.QVBoxLayout() vbox.addStretch(1) vbox2 = QtGui.QVBoxLayout() vbox2.addStretch(1) vbox.addWidget(self.conv,20) grid = QtGui.QGridLayout() grid.addWidget(self.msj,0,0) grid.addWidget(self.env,0,1) grid.addWidget(self.audio,1,1) grid.addWidget(self.act,1,0) grid.addWidget(self.video,2,0) vbox.addLayout(grid,5) vbox2.addWidget(self.cont,6) vbox2.addWidget(self.actC) vbox2.addWidget(self.nuevaIP,2) vbox2.addWidget(self.cambiarIP) vbox2.addWidget(self.cerrar) hbox.addLayout(vbox) hbox.addLayout(vbox2) self.setLayout(hbox) self.setGeometry(100, 100, 600, 600) self.setWindowTitle('Chat') self.setWindowIcon(QtGui.QIcon('yahoo_chat.png')) self.show()
class Chat(QtGui.QWidget): def __init__(self): super(Chat, self).__init__() self.initUI() def initUI(self): self.usuario, ok = QtGui.QInputDialog.getText(self,'Usuario','Ingresa Tu Nombre:') self.ipP, ok2 = QtGui.QInputDialog.getText(self, 'IP Personal','Ingresa tu direccion IP:') ipC, ok3 = QtGui.QInputDialog.getText(self, 'IP Servidor','Ingresa la direccion IP del servidor:') self.servidor = Servidor(self.ipP) self.cliente = Cliente(ipC) self.lista = self.conectarse() self.cont = QtGui.QTextEdit(self) self.cont.setText(self.lista) self.conv = QtGui.QTextEdit(self) self.conv.setText(self.servidor.conversacion) self.nuevaIP = QtGui.QTextEdit(self) self.msj = QtGui.QTextEdit(self) self.env = QtGui.QPushButton('Enviar', self) self.env.clicked.connect(self.enviar) self.act = QtGui.QPushButton('Actualizar', self) self.act.clicked.connect(self.mostrar) self.audio = QtGui.QPushButton('Audio', self) self.audio.clicked.connect(self.mandarAudio) self.video = QtGui.QPushButton('Video', self) self.video.clicked.connect(self.mandarVideo) self.actC = QtGui.QPushButton('Refrescar', self) self.actC.clicked.connect(self.refrescar) self.cambiarIP = QtGui.QPushButton('Cambiar IP', self) self.cambiarIP.clicked.connect(self.cambiarCliente) self.cerrar = QtGui.QPushButton('Cerrar Sesion', self) self.cerrar.clicked.connect(self.cerrarS) hbox = QtGui.QHBoxLayout() hbox.addStretch(1) vbox = QtGui.QVBoxLayout() vbox.addStretch(1) vbox2 = QtGui.QVBoxLayout() vbox2.addStretch(1) vbox.addWidget(self.conv,20) grid = QtGui.QGridLayout() grid.addWidget(self.msj,0,0) grid.addWidget(self.env,0,1) grid.addWidget(self.audio,1,1) grid.addWidget(self.act,1,0) grid.addWidget(self.video,2,0) vbox.addLayout(grid,5) vbox2.addWidget(self.cont,6) vbox2.addWidget(self.actC) vbox2.addWidget(self.nuevaIP,2) vbox2.addWidget(self.cambiarIP) vbox2.addWidget(self.cerrar) hbox.addLayout(vbox) hbox.addLayout(vbox2) self.setLayout(hbox) self.setGeometry(100, 100, 600, 600) self.setWindowTitle('Chat') self.setWindowIcon(QtGui.QIcon('yahoo_chat.png')) self.show() def conectarse(self): return self.cliente.conectarse(self.ipP,self.usuario) def mostrar(self): self.conv.setText(self.servidor.conversacion) def mandarAudio(self): m = self.cliente.grabarAudio() self.cliente.enviarAudio(m) def mandarVideo(self): self.cliente.graba() def refrescar(self): self.lista = self.cliente.actualizarC(self.ipP) self.cont.setText(self.lista) def cambiarCliente(self): self.cliente.cambiarDireccion(str(self.nuevaIP.toPlainText())) def cerrarS(self): self.cliente.desconectarse(self.ipP) def enviar(self): m = str(self.msj.toPlainText()) exito = self.cliente.enviar(m,self.usuario) if exito: self.servidor.agregarM(m,self.usuario) self.conv.setText(self.servidor.conversacion) self.msj.clear()