Add type download
This commit is contained in:
parent
e79967aef3
commit
58eb4d6727
|
@ -6,3 +6,6 @@ RUTA_FIEL = ''
|
|||
|
||||
# ~ Nombre predeterminado de los archivos FIEL
|
||||
NOMBRE_FIEL = 'fiel'
|
||||
|
||||
|
||||
TIMEOUT = 10
|
||||
|
|
|
@ -14,11 +14,11 @@ class JSONTranslator():
|
|||
|
||||
class AppApi(object):
|
||||
|
||||
def on_get(self, req, resp, rfc, cfdi):
|
||||
resp.context['result'] = get_uuid(rfc, cfdi)
|
||||
def on_get(self, req, resp, rfc, tipo, cfdi):
|
||||
resp.context['result'] = get_uuid(rfc, tipo, cfdi)
|
||||
resp.status = falcon.HTTP_200
|
||||
|
||||
|
||||
app = falcon.App(middleware=[JSONTranslator()])
|
||||
api = AppApi()
|
||||
app.add_route('/api/{rfc}/{cfdi}', api)
|
||||
app.add_route('/api/{rfc}/{tipo}/{cfdi}', api)
|
||||
|
|
|
@ -22,6 +22,8 @@ import requests
|
|||
from requests import Session, exceptions, adapters
|
||||
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
|
||||
|
||||
from conf import TIMEOUT
|
||||
|
||||
|
||||
LOG_FORMAT = '%(asctime)s - %(levelname)s - %(message)s'
|
||||
LOG_DATE = '%d/%m/%Y %H:%M:%S'
|
||||
|
@ -32,7 +34,6 @@ logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT, datefmt=LOG_DATE)
|
|||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
TIMEOUT = 10
|
||||
VERIFY_CERT = True
|
||||
|
||||
|
||||
|
@ -451,6 +452,7 @@ class PortalSAT(object):
|
|||
|
||||
if not result:
|
||||
msg = 'Error al identificarse en el SAT'
|
||||
self.error = msg
|
||||
log.error(msg)
|
||||
return False
|
||||
data = self._read_form(result)
|
||||
|
@ -529,20 +531,16 @@ class PortalSAT(object):
|
|||
|
||||
return xml
|
||||
|
||||
def get_uuid(self, cfdi_uuid):
|
||||
def get_uuid(self, tipo, cfdi_uuid):
|
||||
data = {'error': '', 'xml': ''}
|
||||
msg = f'Buscando UUID: {cfdi_uuid}'
|
||||
log.debug(msg)
|
||||
|
||||
# ~ Recibidos
|
||||
filters = self._get_filters(cfdi_uuid, False)
|
||||
data['xml'] = self._search_by_uuid(filters)
|
||||
|
||||
if data['xml']:
|
||||
return data
|
||||
|
||||
# ~ Emitidos
|
||||
filters = self._get_filters(cfdi_uuid, True)
|
||||
data['xml'] = self._search_by_uuid(filters)
|
||||
if tipo == 'r':
|
||||
filters = self._get_filters(cfdi_uuid, False)
|
||||
data['xml'] = self._search_by_uuid(filters)
|
||||
elif tipo == 'e':
|
||||
filters = self._get_filters(cfdi_uuid, True)
|
||||
data['xml'] = self._search_by_uuid(filters)
|
||||
|
||||
return data
|
||||
|
|
|
@ -49,13 +49,17 @@ def validate_fiel(rfc):
|
|||
return cert, error
|
||||
|
||||
|
||||
def get_uuid(rfc, cfdi_uuid):
|
||||
def get_uuid(rfc, tipo, cfdi_uuid):
|
||||
data = {'error': '', 'xml': ''}
|
||||
|
||||
if not validate_uuid(cfdi_uuid):
|
||||
data['error'] = 'UUID inválido'
|
||||
return data
|
||||
|
||||
if not tipo.lower() in ('e', 'r'):
|
||||
data['error'] = 'Tipo inválido, debe ser e o r'
|
||||
return data
|
||||
|
||||
cert, error = validate_fiel(rfc)
|
||||
if not cert:
|
||||
data['error'] = error
|
||||
|
@ -68,10 +72,10 @@ def get_uuid(rfc, cfdi_uuid):
|
|||
if not sat.is_connect:
|
||||
sat.logout()
|
||||
data['error'] = sat.error
|
||||
log.eror(sat.error)
|
||||
log.error(sat.error)
|
||||
return data
|
||||
|
||||
data = sat.get_uuid(cfdi_uuid)
|
||||
data = sat.get_uuid(tipo, cfdi_uuid)
|
||||
sat.logout()
|
||||
except Exception as e:
|
||||
log.error(e)
|
||||
|
|
Loading…
Reference in New Issue