Booking out QR code
This commit is contained in:
38
backend/generate_qr.py
Normal file
38
backend/generate_qr.py
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Generate booking QR code at container startup"""
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
def generate_booking_qr():
|
||||
"""Generate QR code for the booking page"""
|
||||
# Get base URL from environment, default to localhost
|
||||
base_url = os.environ.get('BASE_URL', 'http://localhost')
|
||||
booking_url = f"{base_url}/book"
|
||||
|
||||
# Create output directory if it doesn't exist
|
||||
output_dir = '/web/assets'
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
output_file = f'{output_dir}/booking-qr.png'
|
||||
|
||||
try:
|
||||
# Generate QR code using qrencode
|
||||
subprocess.run(
|
||||
['qrencode', '-o', output_file, '-s', '5', booking_url],
|
||||
check=True,
|
||||
capture_output=True
|
||||
)
|
||||
print(f"✓ Generated booking QR code: {output_file}")
|
||||
print(f" URL: {booking_url}")
|
||||
return True
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"✗ Failed to generate QR code: {e.stderr.decode()}", file=sys.stderr)
|
||||
return False
|
||||
except FileNotFoundError:
|
||||
print("✗ qrencode not found. Install with: apt-get install qrencode", file=sys.stderr)
|
||||
return False
|
||||
|
||||
if __name__ == '__main__':
|
||||
success = generate_booking_qr()
|
||||
sys.exit(0 if success else 1)
|
||||
Reference in New Issue
Block a user