Ejemplo n.º 1
0
def show_qr_code(image_file):
    from pyzbar import pyzbar
    from qrcode import QRCode
    from PIL import Image
    qr = QRCode()
    results = pyzbar.decode(Image.open(image_file),
                            symbols=[pyzbar.ZBarSymbol.QRCODE])
    qr_data = results[0].data
    qr.add_data(qr_data)
    qr.print_ascii()
    qr.clear()
Ejemplo n.º 2
0
class QRCoder:
    def __init__(self, box_size: int = 10, border: int = 4) -> None:
        self.logger = logging.getLogger(__name__)
        self.qr = QRCode(
            error_correction=ERROR_CORRECT_L,
            box_size=box_size,
            border=border,
            image_factory=SvgFragmentImage,
        )

    def generate_inline_svg(self, text: str) -> str:
        self.qr.add_data(text)

        qrcode = self.qr.make_image().get_image()
        inline_svg = ET.tostring(qrcode)

        self.qr.clear()

        return inline_svg
from qrcode import QRCode

from recipe_links import RECIPE_LINKS

DIGITAL_RECIPE_QR_CODES_FILE_PATH = 'digital_recipes_qr_code'

qr = QRCode(
    version=
    1,  # controls the size of the QR code: 1-40, 1 being the smallest (21x21 matrix)
    box_size=5,  # controls the number of pixels for each QR code "box"
    border=4,  # controls the thickness of the box border
)
for name, link in RECIPE_LINKS.items():
    qr.add_data(link)  # accepts hyperlink
    qr.make(fit=True
            )  # ensures that the entire dimension of the QR code is utilize
    img = qr.make_image(fill_color='#0f346c', back_color='white')
    img.save(f'{DIGITAL_RECIPE_QR_CODES_FILE_PATH}/{name}_qr_code.png')
    qr.clear()