Exemple #1
0
 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 ")
Exemple #2
0
    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()
Exemple #3
0
 def mostrarMensaje(self, text):
     Dialog = QtGui.QDialog()
     ui = Mensaje.Ui_Dialog()
     ui.setupUi(Dialog)
     ui.label.setText(text)
     Dialog.show()
     Dialog.exec_()
Exemple #4
0
 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()
Exemple #5
0
    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
Exemple #8
0
 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)