Buenas a todos, les comento que encontré la forma de hacerlo sin usar un archivo:
Código Python:
Ver originalif __name__ == '__main__':
#import ipdb; ipdb.set_trace()
#print sys.argv, len(sys.argv)
fdesde, fhasta = parametros(sys.argv)
if fdesde and fhasta:
d_fdesde = datetime.strptime(fdesde,"%Y-%m-%d").date()
d_fhasta = datetime.strptime(fhasta,"%Y-%m-%d").date()
if (d_fhasta - d_fdesde).days < 6 or d_fhasta > date.today():
print("\n\t[ERROR] El rango no es válido! ")
print("\t El rango debe tener una extención mayor a 5 días")
print("\t La fecha final del rango debe ser menor que la fecha de hoy")
ayudin()
if fdesde and fhasta:
client = Client("https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcucotizaciones?wsdl")
cotiza_obj = client.factory.create("wsbcucotizacionesin")
cotiza_obj.FechaDesde = fdesde
cotiza_obj.FechaHasta = fhasta
cotiza_obj.Grupo = 2
cotiza_obj.Moneda = {'item' : [2225,9800,9900]}
ret = client.service.Execute(cotiza_obj)
#print ret
cotizacion = asdict(ret.datoscotizaciones).items()[0][1]
print("\t Moneda \t\t Compra \t Venta")
for moneda in cotizacion:
print("\t %s \t %s \t %s \n" % (moneda.Nombre, moneda.TCC, moneda.TCV))
elif fdesde == None and fhasta == None:
client = Client("https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsultimocierre?wsdl")
ultimo_obj = client.factory.create("wsultimocierreout")
ret = client.service.Execute(ultimo_obj)
client = Client("https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcucotizaciones?wsdl")
cotiza_obj = client.factory.create("wsbcucotizacionesin")
cotiza_obj.FechaDesde = ret.Fecha
cotiza_obj.FechaHasta = ret.Fecha
cotiza_obj.Grupo = 2
cotiza_obj.Moneda = {'item' : [2225,9800,9900]}
ret = client.service.Execute(cotiza_obj)
#print ret
cotizacion = asdict(ret.datoscotizaciones).items()[0][1]
print("\t Moneda \t\t Compra \t Venta")
for moneda in cotizacion:
print("\t %s \t %s \t %s \n" % (moneda.Nombre, moneda.TCC, moneda.TCV))
else:
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.