Resuelto: ticket #29

This commit is contained in:
El Mau 2021-12-30 11:56:22 -06:00
parent 2a2689a61b
commit 46d6329754
3 changed files with 23 additions and 20 deletions

View File

@ -72,6 +72,7 @@ from settings import USAR_TOKEN, API, DECIMALES_TAX
# ~ from .configpac import AUTH # ~ from .configpac import AUTH
from .utils import get_qr
# ~ v2 # ~ v2
import segno import segno
from .pacs.cfdi_cert import SATCertificate from .pacs.cfdi_cert import SATCertificate
@ -1606,22 +1607,22 @@ def to_letters(value, currency):
return NumLet(value, currency).letras return NumLet(value, currency).letras
def get_qr(data, p=True): # ~ def get_qr(data, p=True):
qr = pyqrcode.create(data, mode='binary') # ~ qr = pyqrcode.create(data, mode='binary')
if p: # ~ if p:
path = get_path_temp('.qr') # ~ path = get_path_temp('.qr')
qr.png(path, scale=7) # ~ qr.png(path, scale=7)
return path # ~ return path
buffer = io.BytesIO() # ~ buffer = io.BytesIO()
qr.png(buffer, scale=8) # ~ qr.png(buffer, scale=8)
return base64.b64encode(buffer.getvalue()).decode() # ~ return base64.b64encode(buffer.getvalue()).decode()
def get_qr2(data, kind='svg'): # ~ def get_qr2(data, kind='svg'):
buffer = io.BytesIO() # ~ buffer = io.BytesIO()
segno.make(data).save(buffer, kind=kind, scale=8, border=2) # ~ segno.make(data).save(buffer, kind=kind, scale=8, border=2)
return buffer # ~ return buffer
def _get_relacionados(doc, version): 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) qr_data = '{url}{uuid}{emisor}{receptor}{total}{sello}'.format(**qr_data)
if pdf_from == '1': if pdf_from == '1':
data['cbb'] = get_qr2(qr_data) data['cbb'] = get_qr(qr_data, 'png')
else: else:
data['cbb'] = get_qr2(qr_data, 'png') data['cbb'] = get_qr(qr_data)
data['cadenaoriginal'] = CADENA.format(**data) data['cadenaoriginal'] = CADENA.format(**data)
return data return data

View File

@ -830,7 +830,10 @@ def upload_file(rfc, opt, file_obj):
return result return result
def get_qr(data): def get_qr(data, kind='svg', in_base64=False):
buffer = io.BytesIO() buffer = io.BytesIO()
segno.make(data).save(buffer, kind='svg', scale=8, border=2) segno.make(data).save(buffer, kind=kind, scale=8, border=2)
return buffer.getvalue() qr = buffer
if in_base64:
qr = base64.b64encode(qr.getvalue()).decode()
return qr

View File

@ -4670,9 +4670,8 @@ class Facturas(BaseModel):
f"&rr={data['receptor_rfc']}&tt={data['cfdi_total']}" f"&rr={data['receptor_rfc']}&tt={data['cfdi_total']}"
f"&fe={data['cfdi_sello'][-8:]}" 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'] = f'data:image/png;base64,{cbb}'
# ~ data['cbb'] = utils.get_qr(qr_data)
return data return data