Feat: Implementacion Impresion de QR
This commit is contained in:
parent
022dbc35c5
commit
83ea8b2ac5
10
api.py
10
api.py
@ -5,6 +5,8 @@ import json
|
||||
|
||||
from pydantic import BaseModel
|
||||
from datetime import datetime
|
||||
import tempfile
|
||||
from .qr_generator import QRCodeGenerator
|
||||
|
||||
app = FastAPI(
|
||||
title="Print Server FastAPI",
|
||||
@ -81,6 +83,14 @@ def print_bill(data, address, waiter):
|
||||
printer.textln(text)
|
||||
printer.set(align='center', bold=False, height=1, width=1)
|
||||
printer.textln('==============================================\n')
|
||||
if d["fe_cufe"]:
|
||||
# printer.qr(d["fe_cufe"])
|
||||
QR = QRCodeGenerator(d["fe_cufe"]).generate_qr()
|
||||
with tempfile.NamedTemporaryFile(
|
||||
delete=True, suffix='.png', dir='/tmp') as temp_file:
|
||||
temp_filename = temp_file.name
|
||||
QR.save(temp_filename)
|
||||
printer.image(f"{temp_filename}")
|
||||
printer.text("Sigue nuestras redes sociales\n")
|
||||
printer.text("@bicipizza\n")
|
||||
printer.text("Recuerde que la propina es voluntaria.\n")
|
||||
|
@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
import qrcode
|
||||
import tempfile
|
||||
import os
|
||||
|
||||
|
||||
class QRCodeGenerator:
|
||||
@ -8,8 +10,8 @@ class QRCodeGenerator:
|
||||
def __init__(self, url):
|
||||
self.url = url
|
||||
|
||||
def generate_qr(self, filename="codigo_qr.png"):
|
||||
"""Genera un código QR a partir de la URL y lo guarda en un archivo."""
|
||||
def generate_qr(self):
|
||||
"""Genera un código QR a partir de la URL y lo guarda en un archivo temporal."""
|
||||
qr = qrcode.QRCode(
|
||||
version=1,
|
||||
error_correction=qrcode.constants.ERROR_CORRECT_L,
|
||||
@ -19,5 +21,5 @@ class QRCodeGenerator:
|
||||
qr.add_data(self.url)
|
||||
qr.make(fit=True)
|
||||
img = qr.make_image(fill_color="black", back_color="white")
|
||||
img.save(filename)
|
||||
return filename
|
||||
|
||||
return img
|
||||
|
@ -7,6 +7,4 @@ from ..qr_generator import QRCodeGenerator
|
||||
def test_generate_qr():
|
||||
url = "https://www.gnu.org/"
|
||||
qr_generator = QRCodeGenerator(url)
|
||||
filename = qr_generator.generate_qr("test_codigo_qr.png")
|
||||
assert os.path.exists(filename)
|
||||
os.remove(filename)
|
||||
filename = qr_generator.generate_qr()
|
||||
|
Loading…
Reference in New Issue
Block a user