def Rentar(self): self.break_while_2 = 1 if Run.usuario_actual.isArrendador == True: while self.break_while_2 == 1: Mensaje().display_menu_zonaRenta() opcion = input("ingrese una opcion: ") if opcion == "1": Run().VerRentasDisponibles() if opcion == "2": if Run().VerRentasDisponibles() == True: print("") id_renta = input("ingrese el ID de la renta deseada: ") Mensaje.ImprimirKey('dias') _time = int(input()) rent1 = Renta.BuscarRentaPorId(id_renta,Renta.rentas) rent1.setTiempoArriendo(_time) if rent1.avaible == True: rent1.setArrendatario(Run.usuario_actual) rent1.isDisponible = False Run.usuario_actual.rentas.append(rent1) rent1.getArticulo().setVecesUsado() rent1.getArticulo().setIsArrendado(True) print("renta concretada") elif rent1.avaible == False: Run.Rentar(self) else: print("aun no hay rentas disponibles") if opcion == "3": Run().VerMisRentas() if opcion == "4": Mensaje().display_menu_operaciones() self.break_while_2 = 0 else: print("No puedes rentar articulos aun, inscribete como arrendatario, opcion 7 ")
def establecerConexion(self, conexion, addr): while True: #Recibimos el mensaje, con el metodo recv recibimos datos y como parametro #la cantidad de bytes para recibir try: recibido = conexion.recv(2048) except SocketError: print("Conexion Perdida") self.tablaAlcanzabilidad.borrarFuenteDesdeAfuera( addr[0], addr[1]) break if ( recibido == b'' ): #Salida para cuando el otro muere antes de mandar el primer mensaje print("Conexion Perdida") self.tablaAlcanzabilidad.borrarFuenteDesdeAfuera( addr[0], addr[1]) break cantTuplas = int(codecs.encode(recibido[0:2], 'hex_codec')) #mensajeSalir = int.from_bytes( recibido[2:3], byteorder='big' ) #Si el mensaje recibido es la palabra close se cierra la aplicacion if cantTuplas == 1 and len(recibido) == 3: print("Conexion Terminada") self.tablaAlcanzabilidad.borrarFuenteDesdeAfuera( addr[0], addr[1]) break mensaje = Mensaje(addr[0], addr[1], recibido) self.mensajesRecibidos.guardarMensaje(mensaje) self.mensajesRecibidos.imprimirMensaje(mensaje) self.tablaAlcanzabilidad.actualizarTabla(mensaje) conexion.close()
def mostrarMensaje(self, text): Dialog = QtGui.QDialog() ui = Mensaje.Ui_Dialog() ui.setupUi(Dialog) ui.label.setText(text) Dialog.show() Dialog.exec_()
def SerArrendador(self): Mensaje().display_menu_registroArrendador() opcion = input("ingrese una opcion: ") if opcion == "1": cedula = input("ingrese su cedula: ") celular = input("ingrese su celular: ") direccion = input("ingrese su direccion: ") Arr1 = Arrendador(Run.usuario_actual.getId(),Run.usuario_actual.getNombre(),Run.usuario_actual.getPassword(),int(cedula),int(celular),str(direccion)) Arrendador.arrendadores.append(Arr1) #Arr1 = Arrendatario(Run.usuario_actual.getNombre(),Run.usuario_actual.getPassword(),int(cedula),int(celular),str(direccion)) #Arrendatario.arrendatarios.append(Arr1) #Run.usuario_actual.setIsArrendador(True) #print("Arrendador {0} ingresado correctamente.".format(Arr1.getNombre().upper())) print(Arr1.toString()) if opcion == "2": Mensaje().display_menu_operaciones()
def run(self): Mensaje.AddMessages() u1 = Usuario("arriendi","god") # usuario dios Usuario.users.append(u1) u1.setIsArrendador(True) # arrendador por defecto u1.setIsArrendatario(True) # arrendatario por defecto u2 = Usuario("arriendi2","god2") # usuario dios2 Usuario.users.append(u2) u2.setIsArrendador(True) # arrendador por defecto2 u2.setIsArrendatario(True) # arrendatario por defecto u2 = Usuario("arriendi3","god3") # usuario dios3 Usuario.users.append(u2) u2.setIsArrendador(False) # No arrendador por defecto u2.setIsArrendatario(True) # arrendatario por defecto while self.break_while == 1: Mensaje().ImprimirKey2('display_menu_bienvenida') # Mensaje().display_menu_bienvenida() # me gustan mas la funcunciones xD opcion = input("ingrese una opcion: ") if opcion == "1" or opcion == "s" or opcion == "si": usuario = input("ingrese el usuario: ") Run.usuario_actual = Usuario.BuscarUsuarioPorNombre(usuario,Usuario.users) if Run.usuario_actual: contraseña = input("ingrese la contraseña: ") if Run.usuario_actual.getPassword() == contraseña: while self.break_while == 1: print(" \n Hola Usuario {0} ".format(usuario.upper())) Mensaje().display_menu_operaciones() opcion = input("ingrese una opcion: ") action = self.switcher_operaciones.get(str(opcion)) if str(opcion) in self.switcher_operaciones: action() else: print("{0} no es una opcion valida".format(opcion)) else: print("contraseña incorrecta") else: print("usuario no encontrado") if opcion == "2" or opcion == "n" or opcion == "no": Mensaje().display_menu_registroUsuario() nombre = input("ingrese un nombre de usuario: ") password = input("ingrese un nombre una constraseña: ") u1 = Usuario(nombre,password) Usuario.users.append(u1) print("Usuario creado correctamente") print("estas son tus credenciales:") print(u1.toString())
def enviarMensajeUnico(contenidoMensaje, nombreUsuario): cod_Mensaje = Mensaje.Mensaje(contenidoMensaje) #Creamos objeto mensaje Mensajes.append(cod_Mensaje) #Añade a lista mensajes for usuario in Usuarios: if Usuarios[usuario].Nombre == nombreUsuario: cod_Mensaje.añadirEnviado(usuario) #Añadimos a lista de Enviados Usuarios[usuario].añadir_A_BandejaEntrada( cod_Mensaje) #Añadimos a lista BandejaEntrada del usuario
def enviarMensaje(contenido): cod_Mensaje = Mensaje.Mensaje(contenido) #Creamos objeto mensaje Mensajes.append(cod_Mensaje) #Añade a lista mensajes for usuario in Usuarios: cod_Mensaje.añadirEnviado(usuario) #Añadimos a lista de Enviados Usuarios[usuario].añadir_A_BandejaEntrada( cod_Mensaje ) #Añadimos a diccionario BandejaEntrada de cada usuario de la lista
def PonerEnRenta(self): self.break_while_2 = 1 if Run.usuario_actual.isArrendador == True: while self.break_while_2 == 1: Mensaje().display_menu_zonaArrendador() opcion = input("ingrese una opcion: ") if Run.usuario_actual.articulos: if opcion == "1": if Run().VerMisArticulos() == True: print("") id_art = input("ingrese el ID del articulo a arrendar: ") art = Articulo.BuscarArticuloPorId(id_art,Run.articulos) periodo = input("ingrese el periodo minimo que desea arrendar el articulo {0} en dias:".format(art.getNombre().upper())) rent1 = Renta(art,Run.usuario_actual,periodo) Renta.rentas.append(rent1) Run.usuario_actual.rentas.append(rent1) print("renta añadida:") print(rent1.toString()) elif Run().VerMisArticulos() == None: print("aun no has publicado articulos, volver, opcion Agregar articulos") if opcion == "2": if Run().VerMisRentas() == True: print("") id_renta = input("ingrese el ID de la renta a cancelar: ") rent1 = Renta.BuscarRentaPorId(id_renta,Renta.rentas) print(rent1) rent1.setIsDisponible(False) rent1.getArticulo().setIsArrendado(False) print("renta cambiada") print(rent1.toString()) elif Run().VerMisRentas() == None: print("aun no publicas articulos en renta, volver, opcion Rentar") if opcion == "3": Run().VerMisArriendos() else: print("no tienes articulos aun, ingresa un articulo, volver + opción 5") if opcion == "4": Mensaje().display_menu_operaciones() self.break_while_2 = 0 else: print("No puedes publicar Rentas de articulos, registrate como Arrendador, opcion 7 ")
def recibeMensajes(self, serverSocket): while 1: message, clientAddress = serverSocket.recvfrom(2048) mensaje = Mensaje(clientAddress[0], clientAddress[1], message) cantTuplas = int(codecs.encode(message[0:2], 'hex_codec')) mensajeSalir = int.from_bytes(message[2:3], byteorder='big') #Si el mensaje recibido es la palabra close se cierra la aplicacion if cantTuplas == 1 and len(message) == 3 and mensajeSalir == 0: print("Nodo aviso suicidio") self.tablaAlcanzabilidad.borrarFuenteDesdeAfuera( clientAddress[0], clientAddress[1]) else: self.mensajesRecibidos.guardarMensaje(mensaje) self.mensajesRecibidos.imprimirMensaje(mensaje) self.tablaAlcanzabilidad.actualizarTabla(mensaje)