Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/11/2017, 21:22
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Cotización de las monedas

Buenas a todos, les comento que encontré la forma de hacerlo sin usar un archivo:

Código Python:
Ver original
  1. if __name__ == '__main__':
  2.     #import ipdb; ipdb.set_trace()
  3.     #print sys.argv, len(sys.argv)
  4.     fdesde, fhasta = parametros(sys.argv)
  5.     if fdesde and fhasta:
  6.         d_fdesde = datetime.strptime(fdesde,"%Y-%m-%d").date()
  7.         d_fhasta = datetime.strptime(fhasta,"%Y-%m-%d").date()
  8.         if (d_fhasta - d_fdesde).days < 6 or d_fhasta > date.today():
  9.             print("\n\t[ERROR] El rango no es válido! ")
  10.             print("\t        El rango debe tener una extención mayor a 5 días")
  11.             print("\t        La fecha final del rango debe ser menor que la fecha de hoy")
  12.             ayudin()
  13.  
  14.     if fdesde and fhasta:
  15.         client = Client("https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcucotizaciones?wsdl")
  16.         cotiza_obj = client.factory.create("wsbcucotizacionesin")
  17.         cotiza_obj.FechaDesde = fdesde
  18.         cotiza_obj.FechaHasta = fhasta
  19.         cotiza_obj.Grupo  = 2      
  20.         cotiza_obj.Moneda = {'item' : [2225,9800,9900]}
  21.         ret = client.service.Execute(cotiza_obj)
  22.         #print ret
  23.         cotizacion = asdict(ret.datoscotizaciones).items()[0][1]
  24.         print("\t Moneda \t\t Compra \t Venta")
  25.         for moneda in cotizacion:
  26.             print("\t %s \t %s \t %s \n" % (moneda.Nombre, moneda.TCC, moneda.TCV))
  27.     elif fdesde == None and fhasta == None:
  28.         client = Client("https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsultimocierre?wsdl")
  29.         ultimo_obj = client.factory.create("wsultimocierreout")
  30.         ret = client.service.Execute(ultimo_obj)
  31.         client = Client("https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcucotizaciones?wsdl")
  32.         cotiza_obj = client.factory.create("wsbcucotizacionesin")
  33.         cotiza_obj.FechaDesde = ret.Fecha
  34.         cotiza_obj.FechaHasta = ret.Fecha
  35.         cotiza_obj.Grupo  = 2      
  36.         cotiza_obj.Moneda = {'item' : [2225,9800,9900]}
  37.         ret = client.service.Execute(cotiza_obj)
  38.         #print ret
  39.         cotizacion = asdict(ret.datoscotizaciones).items()[0][1]
  40.         print("\t Moneda \t\t Compra \t Venta")
  41.         for moneda in cotizacion:
  42.             print("\t %s \t %s \t %s \n" % (moneda.Nombre, moneda.TCC, moneda.TCV))
  43.     else:
  44.         print("\n\t%s\n" % ("Algo salió mal... :( ",))

Ahora quiero preguntar lo siguiente: ¿cómo puedo hacer que por consola si yo escribo 15/10/2017 que me lo invierta de esta forma 2017/10/15? para no cambiar mucho lo que hace el sistema.

En bitbucket está el código, pongo el link: http://goo.gl/SAaM48

Espero sus respuestas y saludos.