Skip to content

Commit 17a1b38

Browse files
authored
Merge pull request #43 from NicolasSandoval/fixes-wsct
WSCT
2 parents 6682797 + de75cf9 commit 17a1b38

File tree

1 file changed

+51
-25
lines changed

1 file changed

+51
-25
lines changed

Diff for: wsct.py

+51-25
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,8 @@ def AutorizarComprobante(self):
290290
}
291291

292292
res = self.client.autorizarComprobante(
293-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
293+
authRequest={'token': self.Token, 'sign': self.Sign,
294+
'cuitRepresentada': self.Cuit},
294295
comprobanteRequest=fact,
295296
)
296297
ret = res.get('autorizarComprobanteReturn', {})
@@ -303,7 +304,8 @@ def AutorizarComprobante(self):
303304
# guardo los mensajes xml originales
304305
xml_request = self.client.xml_request
305306
xml_response = self.client.xml_response
306-
cae = self.ConsultarComprobante(f['tipo_cbte'], f['punto_vta'], f['cbt_desde'], reproceso=True)
307+
cae = self.ConsultarComprobante(
308+
f['tipo_cbte'], f['punto_vta'], f['cbt_desde'], reproceso=True)
307309
if cae and self.EmisionTipo == 'CAE':
308310
self.Reproceso = 'S'
309311
self.Resultado = 'A' # verificar O
@@ -321,7 +323,8 @@ def AutorizarComprobante(self):
321323
self.PuntoVenta = cbteresp['numeroPuntoVenta'] # 4000
322324
# self. = cbteresp['cuit'] # 20267565393L
323325
# self. = cbteresp['codigoTipoComprobante']
324-
self.Vencimiento = cbteresp['fechaVencimientoCAE'].strftime("%Y/%m/%d")
326+
self.Vencimiento = cbteresp['fechaVencimientoCAE'].strftime(
327+
"%Y/%m/%d")
325328
self.CAE = str(cbteresp['CAE']) # 60423794871430L
326329
self.__analizar_errores(ret)
327330

@@ -348,7 +351,8 @@ def CAESolicitar(self):
348351
@inicializar_y_capturar_excepciones
349352
def ConsultarUltimoComprobanteAutorizado(self, tipo_cbte, punto_vta):
350353
res = self.client.consultarUltimoComprobanteAutorizado(
351-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
354+
authRequest={'token': self.Token, 'sign': self.Sign,
355+
'cuitRepresentada': self.Cuit},
352356
codigoTipoComprobante=tipo_cbte,
353357
numeroPuntoVenta=punto_vta,
354358
)
@@ -364,7 +368,8 @@ def ConsultarUltimoComprobanteAutorizado(self, tipo_cbte, punto_vta):
364368
def ConsultarComprobante(self, tipo_cbte, punto_vta, cbte_nro, reproceso=False):
365369
"Recuperar los datos completos de un comprobante ya autorizado"
366370
res = self.client.consultarComprobanteTipoPVentaNro(
367-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
371+
authRequest={'token': self.Token, 'sign': self.Sign,
372+
'cuitRepresentada': self.Cuit},
368373
codigoTipoComprobante=tipo_cbte,
369374
numeroPuntoVenta=punto_vta,
370375
numeroComprobante=cbte_nro,
@@ -437,7 +442,8 @@ def ConsultarComprobante(self, tipo_cbte, punto_vta, cbte_nro, reproceso=False):
437442
self.FechaCbte = cbteresp['fechaEmision'].strftime("%Y/%m/%d")
438443
self.CbteNro = cbteresp['numeroComprobante'] # 1L
439444
self.PuntoVenta = cbteresp['numeroPuntoVenta'] # 4000
440-
self.Vencimiento = cbteresp['fechaVencimiento'].strftime("%Y/%m/%d")
445+
self.Vencimiento = cbteresp['fechaVencimiento'].strftime(
446+
"%Y/%m/%d")
441447
self.ImpTotal = str(cbteresp['importeTotal'])
442448
self.CAE = str(cbteresp['codigoAutorizacion']) # 60423794871430L
443449
self.EmisionTipo = cbteresp['codigoTipoAutorizacion'] == 'A' and 'CAEA' or 'CAE'
@@ -449,7 +455,8 @@ def ConsultarComprobante(self, tipo_cbte, punto_vta, cbte_nro, reproceso=False):
449455
def ConsultarTiposComprobante(self):
450456
"Este método permite consultar los tipos de comprobantes habilitados en este WS"
451457
res = self.client.consultarTiposComprobantes(
452-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
458+
authRequest={'token': self.Token, 'sign': self.Sign,
459+
'cuitRepresentada': self.Cuit},
453460
)
454461
ret = res['consultarTiposComprobantesReturn']
455462
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcion']
@@ -458,7 +465,8 @@ def ConsultarTiposComprobante(self):
458465
@inicializar_y_capturar_excepciones
459466
def ConsultarTiposDocumento(self):
460467
res = self.client.consultarTiposDocumento(
461-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
468+
authRequest={'token': self.Token, 'sign': self.Sign,
469+
'cuitRepresentada': self.Cuit},
462470
)
463471
ret = res['consultarTiposDocumentoReturn']
464472
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcion']
@@ -468,7 +476,8 @@ def ConsultarTiposDocumento(self):
468476
def ConsultarTiposIVA(self):
469477
"Este método permite consultar los tipos de IVA habilitados en este ws"
470478
res = self.client.consultarTiposIVA(
471-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
479+
authRequest={'token': self.Token, 'sign': self.Sign,
480+
'cuitRepresentada': self.Cuit},
472481
)
473482
ret = res['consultarTiposIVAReturn']
474483
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcionString']
@@ -478,7 +487,8 @@ def ConsultarTiposIVA(self):
478487
def ConsultarCondicionesIVA(self):
479488
"Este método permite consultar los tipos de comprobantes habilitados en este WS"
480489
res = self.client.consultarCondicionesIVA(
481-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
490+
authRequest={'token': self.Token, 'sign': self.Sign,
491+
'cuitRepresentada': self.Cuit},
482492
)
483493
ret = res['consultarCondicionesIVAReturn']
484494
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcionString']
@@ -488,7 +498,8 @@ def ConsultarCondicionesIVA(self):
488498
def ConsultarMonedas(self):
489499
"Este método permite consultar los tipos de comprobantes habilitados en este WS"
490500
res = self.client.consultarMonedas(
491-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
501+
authRequest={'token': self.Token, 'sign': self.Sign,
502+
'cuitRepresentada': self.Cuit},
492503
)
493504
ret = res['consultarMonedasReturn']
494505
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcionString']
@@ -498,7 +509,8 @@ def ConsultarMonedas(self):
498509
def ConsultarTiposItem(self):
499510
"Este método permite consultar los tipos de comprobantes habilitados en este WS"
500511
res = self.client.consultarTiposItem(
501-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
512+
authRequest={'token': self.Token, 'sign': self.Sign,
513+
'cuitRepresentada': self.Cuit},
502514
)
503515
ret = res['consultarTiposItemReturn']
504516
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcion']
@@ -508,7 +520,8 @@ def ConsultarTiposItem(self):
508520
def ConsultarCodigosItemTurismo(self):
509521
"Este método permite consultar los códigos de los ítems de Turismo"
510522
res = self.client.consultarCodigosItemTurismo(
511-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
523+
authRequest={'token': self.Token, 'sign': self.Sign,
524+
'cuitRepresentada': self.Cuit},
512525
)
513526
ret = res['consultarCodigosItemTurismoReturn']
514527
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcion']
@@ -518,7 +531,8 @@ def ConsultarCodigosItemTurismo(self):
518531
def ConsultarTiposTributo(self):
519532
"Este método permite consultar los tipos de comprobantes habilitados en este WS"
520533
res = self.client.consultarTiposTributo(
521-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
534+
authRequest={'token': self.Token, 'sign': self.Sign,
535+
'cuitRepresentada': self.Cuit},
522536
)
523537
ret = res['consultarTiposTributoReturn']
524538
return ["%(codigo)s: %(descripcion)s" % p['codigoDescripcionString']
@@ -527,10 +541,12 @@ def ConsultarTiposTributo(self):
527541
@inicializar_y_capturar_excepciones
528542
def ConsultarCotizacion(self, moneda_id):
529543
"Este método permite consultar los tipos de comprobantes habilitados en este WS"
530-
ret = self.client.consultarCotizacion(
531-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
544+
res = self.client.consultarCotizacion(
545+
authRequest={'token': self.Token, 'sign': self.Sign,
546+
'cuitRepresentada': self.Cuit},
532547
codigoMoneda=moneda_id,
533548
)
549+
ret = res['consultarCotizacionReturn']
534550
self.__analizar_errores(ret)
535551
if 'cotizacionMoneda' in ret:
536552
return str(ret['cotizacionMoneda'])
@@ -539,16 +555,21 @@ def ConsultarCotizacion(self, moneda_id):
539555
def ConsultarPuntosVenta(self, fmt="%(numeroPuntoVenta)s: bloqueado=%(bloqueado)s baja=%(fechaBaja)s"):
540556
"Este método permite consultar los puntos de venta habilitados para CAE en este WS"
541557
res = self.client.consultarPuntosVenta(
542-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit},
558+
authRequest={'token': self.Token, 'sign': self.Sign,
559+
'cuitRepresentada': self.Cuit},
543560
)
561+
result = res['consultarPuntosVentaReturn']
562+
self.__analizar_errores(result)
544563
ret = []
545-
self.__analizar_errores(ret)
546-
for p in res['consultarPuntosVentaReturn'].get("arrayPuntosVenta", {}):
564+
for p in result.get("arrayPuntosVenta", {}):
547565
p = p['puntoVenta']
548566
if 'fechaBaja' not in p:
549567
p['fechaBaja'] = ""
550568
ret.append(fmt % p if fmt else p)
551-
return ret
569+
if ret:
570+
return ret
571+
else:
572+
return self.ErrMsg
552573

553574
@inicializar_y_capturar_excepciones
554575
def ConsultarPaises(self, sep="|"):
@@ -630,7 +651,8 @@ def ConsultarFomasPago(self, sep="|"):
630651
def ConsultarTiposTarjeta(self, forma_pago=None, sep="|"):
631652
"Recuperar lista de los tipos de tarjeta habilitados"
632653
ret = self.client.consultarTiposTarjeta(
633-
authRequest={'token': self.Token, 'sign': self.Sign, 'cuitRepresentada': self.Cuit, },
654+
authRequest={'token': self.Token, 'sign': self.Sign,
655+
'cuitRepresentada': self.Cuit, },
634656
formaPago=forma_pago)
635657
result = ret['consultarTiposTarjetaReturn']
636658
self.__analizar_errores(result)
@@ -692,7 +714,8 @@ def main():
692714
try:
693715
tipo_cbte = 195
694716
punto_vta = 4000
695-
cbte_nro = wsct.ConsultarUltimoComprobanteAutorizado(tipo_cbte, punto_vta)
717+
cbte_nro = wsct.ConsultarUltimoComprobanteAutorizado(
718+
tipo_cbte, punto_vta)
696719
fecha = datetime.datetime.now().strftime("%Y-%m-%d")
697720
tipo_doc = 80
698721
nro_doc = "50000000059"
@@ -770,12 +793,15 @@ def main():
770793
wsct.ConsultarComprobante(tipo_cbte, punto_vta, cbte_nro)
771794
print("CAE consulta", wsct.CAE, wsct.CAE == cae)
772795
print("NRO consulta", wsct.CbteNro, wsct.CbteNro == cbte_nro)
773-
print("TOTAL consulta", wsct.ImpTotal, wsct.ImpTotal == imp_total)
796+
print("TOTAL consulta", wsct.ImpTotal,
797+
wsct.ImpTotal == imp_total)
774798

775799
wsct.AnalizarXml("XmlResponse")
776-
assert wsct.ObtenerTagXml('codigoAutorizacion') == str(wsct.CAE)
800+
assert wsct.ObtenerTagXml(
801+
'codigoAutorizacion') == str(wsct.CAE)
777802
assert wsct.ObtenerTagXml('codigoConcepto') == str(concepto)
778-
assert wsct.ObtenerTagXml('arrayItems', 0, 'item', 'unidadesMtx') == '123456'
803+
assert wsct.ObtenerTagXml(
804+
'arrayItems', 0, 'item', 'unidadesMtx') == '123456'
779805

780806
except BaseException:
781807
print(wsct.XmlRequest)

0 commit comments

Comments
 (0)