Build and Push Docker Container / build-and-push (push) Successful in 1m36s
- Add structured URL codec with compact alphabets and dictionary support. - Add public decode, redirect, and QR endpoints for composed links. - Add authenticated encode API and link composer UI. - Generate PNG QR codes via qrcode with Pillow support. - Register the new blueprint and navigation entry. - Cover public decode, auth gating, redirect URL parsing, and QR output. - Bump NanoShare to 1.27.0 and lock new dependencies.
20 lines
435 B
Python
20 lines
435 B
Python
from io import BytesIO
|
|
|
|
import qrcode
|
|
from qrcode.constants import ERROR_CORRECT_M
|
|
|
|
def make_qr_png(data: str) -> bytes:
|
|
qr = qrcode.QRCode(
|
|
version=None,
|
|
error_correction=ERROR_CORRECT_M,
|
|
box_size=10,
|
|
border=4,
|
|
)
|
|
qr.add_data(data, optimize=20)
|
|
qr.make(fit=True)
|
|
image = qr.make_image(fill_color="black", back_color="white")
|
|
|
|
buffer = BytesIO()
|
|
image.save(buffer, format="PNG")
|
|
return buffer.getvalue()
|