diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py index e75f510..077c7f9 100644 --- a/source/app/controllers/util.py +++ b/source/app/controllers/util.py @@ -72,6 +72,7 @@ from settings import USAR_TOKEN, API, DECIMALES_TAX # ~ from .configpac import AUTH +from .utils import get_qr # ~ v2 import segno from .pacs.cfdi_cert import SATCertificate @@ -1606,22 +1607,22 @@ def to_letters(value, currency): return NumLet(value, currency).letras -def get_qr(data, p=True): - qr = pyqrcode.create(data, mode='binary') - if p: - path = get_path_temp('.qr') - qr.png(path, scale=7) - return path +# ~ def get_qr(data, p=True): + # ~ qr = pyqrcode.create(data, mode='binary') + # ~ if p: + # ~ path = get_path_temp('.qr') + # ~ qr.png(path, scale=7) + # ~ return path - buffer = io.BytesIO() - qr.png(buffer, scale=8) - return base64.b64encode(buffer.getvalue()).decode() + # ~ buffer = io.BytesIO() + # ~ qr.png(buffer, scale=8) + # ~ return base64.b64encode(buffer.getvalue()).decode() -def get_qr2(data, kind='svg'): - buffer = io.BytesIO() - segno.make(data).save(buffer, kind=kind, scale=8, border=2) - return buffer +# ~ def get_qr2(data, kind='svg'): + # ~ buffer = io.BytesIO() + # ~ segno.make(data).save(buffer, kind=kind, scale=8, border=2) + # ~ return buffer def _get_relacionados(doc, version): @@ -1878,9 +1879,9 @@ def _timbre(doc, version, values, pdf_from='1'): qr_data = '{url}{uuid}{emisor}{receptor}{total}{sello}'.format(**qr_data) if pdf_from == '1': - data['cbb'] = get_qr2(qr_data) + data['cbb'] = get_qr(qr_data, 'png') else: - data['cbb'] = get_qr2(qr_data, 'png') + data['cbb'] = get_qr(qr_data) data['cadenaoriginal'] = CADENA.format(**data) return data diff --git a/source/app/controllers/utils.py b/source/app/controllers/utils.py index c96ec60..3e142f1 100644 --- a/source/app/controllers/utils.py +++ b/source/app/controllers/utils.py @@ -830,7 +830,10 @@ def upload_file(rfc, opt, file_obj): return result -def get_qr(data): +def get_qr(data, kind='svg', in_base64=False): buffer = io.BytesIO() - segno.make(data).save(buffer, kind='svg', scale=8, border=2) - return buffer.getvalue() + segno.make(data).save(buffer, kind=kind, scale=8, border=2) + qr = buffer + if in_base64: + qr = base64.b64encode(qr.getvalue()).decode() + return qr diff --git a/source/app/models/main.py b/source/app/models/main.py index efa15b4..6597371 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -4670,9 +4670,8 @@ class Facturas(BaseModel): f"&rr={data['receptor_rfc']}&tt={data['cfdi_total']}" f"&fe={data['cfdi_sello'][-8:]}" ) - cbb = util.get_qr(qr_data, False) + cbb = utils.get_qr(qr_data, 'png', True) data['cbb'] = f'data:image/png;base64,{cbb}' - # ~ data['cbb'] = utils.get_qr(qr_data) return data