AƱadido cliente en python jorjor
[pcd.git] / python / cliente.py
1 #!/usr/bin/python
2
3 import sys
4 import CORBA, subastas
5 import PortableServer
6 from clienteSubastas_i import *
7
8 orb = CORBA.ORB_init()
9 ior = open('../server.ior').readline()
10
11 gestor_subasta = orb.string_to_object(ior)
12
13 poa = orb.resolve_initial_references("RootPOA")
14 poa._get_the_POAManager().activate()
15
16
17 def crear_cliente(id, poa):
18     cl = clienteSubastas_i(id)
19     cl1 = poa.servant_to_reference(cl)
20     return cl1
21
22 subastas = gestor_subasta.localizarSubasta('')
23 try:
24     nombre = sys.argv[1]
25 except:
26     nombre = raw_input("nombre del cliente: ")
27 cl = crear_cliente(nombre, poa)
28
29 while True:
30     comando = raw_input(">>")
31     if comando.split()[0] == 'salir':
32         break
33     elif comando.split()[0] == 'inscribir':
34         subasta = subastas[int(comando.split()[1])]
35         subasta.inscribirCliente(cl)
36     elif comando.split()[0] == 'pujar':
37         subasta = subastas[int(comando.split()[1])]
38         valor = float(comando.split()[2])
39         if subasta.pujar(valor, cl):
40             print "Vas ganando"
41         else: 
42             print "No es suficiente"
43     elif comando.split()[0] == 'ultima':
44         subasta = subastas[int(comando.split()[1])]
45         subasta.ultimaPuja(cl)
46         print "Has dejado de pujar"
47
48     elif comando.split()[0] == 'buscar':
49         try:
50             desc = comando.split()[1]
51         except:
52             desc = ''
53         subastas = gestor_subasta.localizarSubasta(desc)
54         for i,s in enumerate(subastas):
55             print i, s._get_descripcion(), s._get_estado()
56
57     elif comando.split()[0] == 'ganador':
58         subasta = subastas[int(comando.split()[1])]
59         print subasta.ganador()._get_identificacion()
60
61     elif comando.split()[0] == 'ganador_prov':
62         subasta = subastas[int(comando.split()[1])]
63         print subasta._get_ganador_provisional()._get_identificacion()
64
65     elif comando.split()[0] == 'estado':
66         subasta = subastas[int(comando.split()[1])]
67         print subasta._get_estado()
68
69     elif comando.split()[0] == 'valor':
70         subasta = subastas[int(comando.split()[1])]
71         print subasta._get_valor()
72
73     elif comando.split()[0] == 'clientes':
74         subasta = subastas[int(comando.split()[1])]
75         clientes = subasta._get_clientes()
76         for i, c in enumerate(clientes):
77             print i, c._get_identificacion()
78
79     elif comando.split()[0] == 'help':
80         help_str = '''
81         COMANDOS DISPONIBLES
82         --------------------
83         buscar desc -> muestra la lista de subastas
84         ganador id -> muestra el ganador de una subasta
85         inscribir id -> te inscribe en una puja
86         pujar id cantidad -> puja cantidad en la puja con id
87         ultima id -> dejas de pujar en la puja id
88         ganador_prov id -> muestra el ganador provisional
89         estado id -> muestra el estado de una puja
90         valor id -> muestra el valor actual de una puja
91         clientes id -> muestra los clientes que hay en una puja
92         salir -> sale del cliente
93         help -> muestra esta ayuda
94
95         '''
96         print help_str
97