From a0e1f83c2592c1df3591252d050bf223d424c277 Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Fri, 15 Feb 2019 14:38:41 -0600 Subject: [PATCH] Complemento divisas en PDF --- source/app/controllers/util.py | 8 ++ source/app/controllers/utils.py | 104 ++++++++++++++++++++++++- source/app/models/main.py | 4 + source/templates/plantilla_factura.ods | Bin 28718 -> 29070 bytes 4 files changed, 115 insertions(+), 1 deletion(-) diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py index b6d63b3..e68a175 100644 --- a/source/app/controllers/util.py +++ b/source/app/controllers/util.py @@ -1084,6 +1084,12 @@ class LIBO(object): self._set_cell('{ine.%s}' % k, v) return + def _divisas(self, data): + if data: + for k, v in data.items(): + self._set_cell(f'{{divisas.{k}}}', v) + return + def _nomina(self, data): if not data: return @@ -1310,6 +1316,8 @@ class LIBO(object): self._donataria(data['donataria']) self._ine(data['ine']) + self._divisas(data.get('divisas', {})) + self._cancelado(data['cancelada']) self._clean() return diff --git a/source/app/controllers/utils.py b/source/app/controllers/utils.py index 8332596..6ffef47 100644 --- a/source/app/controllers/utils.py +++ b/source/app/controllers/utils.py @@ -17,6 +17,7 @@ # ~ along with this program. If not, see . import base64 +import collections import math import smtplib @@ -25,16 +26,88 @@ from email.mime.base import MIMEBase from email.mime.text import MIMEText from email import encoders from email.utils import formatdate +from io import BytesIO import requests from cryptography.fernet import Fernet from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes +import lxml.etree as ET TIMEOUT = 10 +#~ https://github.com/kennethreitz/requests/blob/v1.2.3/requests/structures.py#L37 +class CaseInsensitiveDict(collections.MutableMapping): + """ + A case-insensitive ``dict``-like object. + Implements all methods and operations of + ``collections.MutableMapping`` as well as dict's ``copy``. Also + provides ``lower_items``. + All keys are expected to be strings. The structure remembers the + case of the last key to be set, and ``iter(instance)``, + ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` + will contain case-sensitive keys. However, querying and contains + testing is case insensitive: + cid = CaseInsensitiveDict() + cid['Accept'] = 'application/json' + cid['aCCEPT'] == 'application/json' # True + list(cid) == ['Accept'] # True + For example, ``headers['content-encoding']`` will return the + value of a ``'Content-Encoding'`` response header, regardless + of how the header name was originally stored. + If the constructor, ``.update``, or equality comparison + operations are given keys that have equal ``.lower()``s, the + behavior is undefined. + """ + def __init__(self, data=None, **kwargs): + self._store = dict() + if data is None: + data = {} + self.update(data, **kwargs) + + def __setitem__(self, key, value): + # Use the lowercased key for lookups, but store the actual + # key alongside the value. + self._store[key.lower()] = (key, value) + + def __getitem__(self, key): + return self._store[key.lower()][1] + + def __delitem__(self, key): + del self._store[key.lower()] + + def __iter__(self): + return (casedkey for casedkey, mappedvalue in self._store.values()) + + def __len__(self): + return len(self._store) + + def lower_items(self): + """Like iteritems(), but with all lowercase keys.""" + return ( + (lowerkey, keyval[1]) + for (lowerkey, keyval) + in self._store.items() + ) + + def __eq__(self, other): + if isinstance(other, collections.Mapping): + other = CaseInsensitiveDict(other) + else: + return NotImplemented + # Compare insensitively + return dict(self.lower_items()) == dict(other.lower_items()) + + # Copy is required + def copy(self): + return CaseInsensitiveDict(self._store.values()) + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, dict(self.items())) + + class SendMail(object): def __init__(self, config): @@ -77,7 +150,6 @@ class SendMail(object): if '535' in str(e): self._error = 'Nombre de usuario o contraseña inválidos' return False - # ~ print (e) if '534' in str(e) and 'gmail' in self._config['server']: self._error = 'Necesitas activar el acceso a otras ' \ 'aplicaciones en tu cuenta de GMail' @@ -128,6 +200,35 @@ class SendMail(object): return +class CfdiToDict(object): + NS = { + 'cfdi': 'http://www.sat.gob.mx/cfd/3', + 'divisas': 'http://www.sat.gob.mx/divisas', + } + + def __init__(self, xml): + self._values = {} + self._root = ET.parse(BytesIO(xml.encode())).getroot() + self._get_values() + + @property + def values(self): + return self._values + + def _get_values(self): + self._complementos() + return + + def _complementos(self): + complemento = self._root.xpath('//cfdi:Complemento', namespaces=self.NS)[0] + + divisas = complemento.xpath('//divisas:Divisas', namespaces=self.NS) + if divisas: + d = CaseInsensitiveDict(divisas[0].attrib) + d.pop('version', '') + self._values.update({'divisas': d}) + return + def send_mail(data): msg = '' ok = True @@ -170,3 +271,4 @@ def to_bool(value): def get_url(url): r = requests.get(url).text return r + diff --git a/source/app/models/main.py b/source/app/models/main.py index 082b780..069c3d3 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -3816,7 +3816,11 @@ class Facturas(BaseModel): pdf_from = Configuracion.get_('make_pdf_from') or '1' values = cls._get_not_in_xml(cls, obj, emisor) + + #Tmp to v2 data = util.get_data_from_xml(obj, values) + data.update(utils.CfdiToDict(obj.xml).values) + doc = util.to_pdf(data, emisor.rfc, pdf_from=pdf_from) if sync: diff --git a/source/templates/plantilla_factura.ods b/source/templates/plantilla_factura.ods index cab2f95d1809b1aca5e4ba46be6cdfd4b6b3dde8..a35d18a53799b628dc2d7e398a3967ca75acce39 100644 GIT binary patch delta 21142 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 XRQxH2wEqFQ=!n8W@Dj{8oz?yyZWjR! delta 20743 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°kBS<}4py-7hSl>06M;>j{v=@$y8ido4Y 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 Z^7FI(nRK-O0V#4t*?aSlAl%Qa{{xQFG6Vns