style(xpd_tu_factura): isort y black

parent ed5f8992
......@@ -5,32 +5,24 @@ import base64
import logging
import re
import string
import tempfile
from datetime import datetime
from lxml import etree
from pytz import timezone, utc
from requests import Request, Session
import xmltodict
from SOAPpy import Types, WSDL
from openerp import api, fields, models
from openerp.addons.l10n_mx_ir_attachment_facturae.lib import pyxmldsig
from openerp.exceptions import Warning as UserError
from openerp.tools.translate import _
from ..lib import xpd_envelopes
from ..lib.pac_answer import PacCancelAnswer, PacConsultAnswer
from ..models import exceptions as pac_exceptions
from ..lib import xpd_envelopes
_logger = logging.getLogger(__name__)
TIMEOUT = 60
_ACTIONS = {"timbrar": "timbrar",
"cancelar": "",
"consultar": ""}
_ACTIONS = {"timbrar": "timbrar", "cancelar": "", "consultar": ""}
class ParamsPac(models.Model):
......@@ -80,7 +72,10 @@ class ParamsPac(models.Model):
return factura_mx_type__fc
def create_header(self, method):
return {"SOAPAction": "%s" % (_ACTIONS[method]), "Content-Type": "text/xml;charset=UTF-8"}
return {
"SOAPAction": "%s" % (_ACTIONS[method]),
"Content-Type": "text/xml;charset=UTF-8",
}
@api.one
def sign_file(self, fdata=None):
......@@ -94,10 +89,13 @@ class ParamsPac(models.Model):
msg += _("WARNING, SIGNED IN TEST!!!!\n\n")
data = xpd_envelopes._SOAPENV % (
self.namespace_sign, self.user, self.password, fdata
self.namespace_sign,
self.user,
self.password,
fdata,
)
_logger.debug(data)
headers =self.create_header(method)
headers = self.create_header(method)
s = Session()
req = Request("POST", self.url_webservice_sign, data=data, headers=headers)
prepped = req.prepare()
......@@ -161,8 +159,7 @@ class ParamsPac(models.Model):
:param uuid: UUID of CFDI to consult
"""
method = "consultar"
msg = ""
cfdi = self.env['ir.attachment.facturae.mx'].search([["uuid", "=", uuid]])
cfdi = self.env["ir.attachment.facturae.mx"].search([["uuid", "=", uuid]])
try:
data = xpd_envelopes._SOAPENV_CONSULTAR % (
self.user,
......@@ -174,12 +171,12 @@ class ParamsPac(models.Model):
cfdi.uuid.encode("utf-8").lower(),
)
except Exception as e:
e.message="Error al crear ENVELOPE"
e.message = "Error al crear ENVELOPE"
_logger.info(e)
raise e
else:
_logger.debug(data)
headers =self.create_header(method)
headers = self.create_header(method)
s = Session()
req = Request("POST", self.url_webservice_cancel, data=data, headers=headers)
prepped = req.prepare()
......@@ -194,10 +191,15 @@ class ParamsPac(models.Model):
raise e
# Procesar los resultados obtenidos del PAC
try:
resultado = res["soapenv:Envelope"]["soapenv:Body"]["ns2:consultarCfdiResponse"][
"ns2:consultarCfdiResponse"] # noqa
resultado = res["soapenv:Envelope"]["soapenv:Body"][
"ns2:consultarCfdiResponse"
][
"ns2:consultarCfdiResponse"
] # noqa
except KeyError as e:
resultado = res["soapenv:Envelope"]["soapenv:Body"]["ns2:consultarCfdiResponse"][
resultado = res["soapenv:Envelope"]["soapenv:Body"][
"ns2:consultarCfdiResponse"
][
"ns2:consultarCfdiResponse"
] # noqa
_logger.debug(e)
......@@ -208,7 +210,7 @@ class ParamsPac(models.Model):
res = resultado["ns2:responseGenericoQr"]["ns2:servicio"]
res = res.popitem(True)
res = res[1]
res = xmltodict.parse(res.encode("utf-8"))
res = xmltodict.parse(res.encode("utf-8"))
resultado = res["s:Envelope"]["s:Body"]["ConsultaResponse"]["ConsultaResult"]
estatus_cancelacion = resultado["a:EstatusCancelacion"]
estado_cfdi = resultado["a:Estado"]
......@@ -218,13 +220,12 @@ class ParamsPac(models.Model):
@api.model
def cancel_xpd_cfdi(self, uuid):
""" Cancel CFDI
:param uuid: uuid of cfdi to cancel
:type uuid: string
"""
method = "cancelar"
msg = ""
cfdi = self.env['ir.attachment.facturae.mx'].search([["uuid", "=", uuid]])
cfdi = self.env["ir.attachment.facturae.mx"].search([["uuid", "=", uuid]])
try:
data = xpd_envelopes._SOAPENV_CANCEL % (
self.user,
......@@ -236,12 +237,12 @@ class ParamsPac(models.Model):
cfdi.uuid.encode("utf-8").lower(),
)
except Exception as e:
e.message="Error while create ENVELOPE"
e.message = "Error while create ENVELOPE"
_logger.info(e)
raise e
else:
_logger.debug(data)
headers =self.create_header(method)
headers = self.create_header(method)
s = Session()
req = Request("POST", self.url_webservice_cancel, data=data, headers=headers)
prepped = req.prepare()
......@@ -256,11 +257,15 @@ class ParamsPac(models.Model):
raise e
# Procesar los resultados obtenidos del PAC
try:
resultado = res["soapenv:Envelope"]["soapenv:Body"]["ns2:cancelarCfdiResponse"][
resultado = res["soapenv:Envelope"]["soapenv:Body"][
"ns2:cancelarCfdiResponse"
][
"ns2:cancelarCfdiResponse"
] # noqa
except KeyError as e:
resultado = res["soapenv:Envelope"]["soapenv:Body"]["ns2:cancelarCfdiResponse"][
resultado = res["soapenv:Envelope"]["soapenv:Body"][
"ns2:cancelarCfdiResponse"
][
"ns2:canselarCfdiResponse"
] # noqa
_logger.debug(e)
......@@ -271,9 +276,7 @@ class ParamsPac(models.Model):
codigo = resultado["ns2:codigo"]
# Procesar los resultados obtenidos del PAC
if codigo not in "200":
raise Exception(
" ".join(["Code", codigo, mensaje])
)
raise Exception(" ".join(["Code", codigo, mensaje]))
consulta = self.consult_xpd_cfdi(uuid)
answer = PacCancelAnswer(uuid, codigo, consulta.estatus_cancelacion)
return answer
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment