import qrcode
from PIL import Image

def generate_qr(url, filename="qr.png"):
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    qr.add_data(url)
    qr.make(fit=True)
    img = qr.make_image(fill_color="black", back_color="white")
    img.save(filename)
    return filename

def embed_logo(qr_filename, logo_filename, output_filename="qr_with_logo.png"):
    qr_img = Image.open(qr_filename)
    logo_img = Image.open(logo_filename)

    # Resize logo to fit nicely in the center
    qr_width, qr_height = qr_img.size
    logo_size = int(qr_width * 0.25)
    logo_img = logo_img.resize((logo_size, logo_size))

    # Center the logo
    pos = ((qr_width - logo_size) // 2, (qr_height - logo_size) // 2)

    # Paste logo onto QR code
    qr_img.paste(logo_img, pos, mask=logo_img if logo_img.mode == "RGBA" else None)
    qr_img.save(output_filename)
    return output_filename

# Generate QR + embed logo
generate_qr("https://127.0.0.1:5000/start", "qr.png")
embed_logo("qr.png", "Unshackled_Logo1.png", "qr_with_logo.png")
