Files
michaelschiemer/tests/debug/generate-reference-qr.py
Michael Schiemer fc3d7e6357 feat(Production): Complete production deployment infrastructure
- Add comprehensive health check system with multiple endpoints
- Add Prometheus metrics endpoint
- Add production logging configurations (5 strategies)
- Add complete deployment documentation suite:
  * QUICKSTART.md - 30-minute deployment guide
  * DEPLOYMENT_CHECKLIST.md - Printable verification checklist
  * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle
  * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference
  * production-logging.md - Logging configuration guide
  * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation
  * README.md - Navigation hub
  * DEPLOYMENT_SUMMARY.md - Executive summary
- Add deployment scripts and automation
- Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment
- Update README with production-ready features

All production infrastructure is now complete and ready for deployment.
2025-10-25 19:18:37 +02:00

87 lines
2.3 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Generate reference QR code using qrcode library and output binary matrix
"""
import qrcode
# Generate QR code with same settings as our implementation
qr = qrcode.QRCode(
version=1, # Version 1 (21x21)
error_correction=qrcode.constants.ERROR_CORRECT_M, # Level M
box_size=1,
border=0 # No border for matrix comparison
)
qr.add_data("HELLO WORLD")
qr.make(fit=False) # Don't auto-fit, use version 1
# Get the matrix
matrix = qr.get_matrix()
print("=== Reference QR Code (Python qrcode library) ===\n")
print(f"Data: 'HELLO WORLD'")
print(f"Version: 1 (21x21)")
print(f"Error Correction: M")
print(f"Matrix Size: {len(matrix)}x{len(matrix[0])}\n")
# Output binary matrix
print("=== Binary Matrix ===\n")
for row in matrix:
for cell in row:
print('1' if cell else '0', end='')
print()
print("\n=== Critical Sections ===\n")
# Top-Left Finder Pattern
print("Top-Left Finder Pattern (0-6, 0-6):")
for i in range(7):
row_str = ''.join('1' if matrix[i][j] else '0' for j in range(7))
print(f"Row {i}: {row_str}")
print()
# Format Information
print("Format Information:")
# Horizontal (Row 8)
format_cols = [0, 1, 2, 3, 4, 5, 7, 8, 20, 19, 18, 17, 16, 15, 14]
format_h = ''.join('1' if matrix[8][col] else '0' for col in format_cols)
print(f"Horizontal (Row 8): {format_h}")
# Vertical (Col 8)
format_rows = [20, 19, 18, 17, 16, 15, 14, 8, 7, 5, 4, 3, 2, 1, 0]
format_v = ''.join('1' if matrix[row][8] else '0' for row in format_rows)
print(f"Vertical (Col 8): {format_v}")
print(f"Match: {'' if format_h == format_v else ''}")
print()
# Decode format information
print("Format Info Decoding:")
print(f"Raw: {format_h}")
# Unmask with XOR mask
xor_mask = "101010000010010"
unmasked_bits = ''.join(
str(int(format_h[i]) ^ int(xor_mask[i]))
for i in range(15)
)
print(f"Unmasked: {unmasked_bits}")
ec_bits = unmasked_bits[0:2]
mask_bits = unmasked_bits[2:5]
ec_map = {'01': 'L', '00': 'M', '11': 'Q', '10': 'H'}
print(f"EC Level: {ec_bits} = {ec_map.get(ec_bits, 'Unknown')}")
print(f"Mask Pattern: {mask_bits} = Pattern {int(mask_bits, 2)}")
print()
# Save image for scanning
img = qr.make_image(fill_color="black", back_color="white")
img_path = "/home/michael/dev/michaelschiemer/public/qrcode-python-reference.png"
img.save(img_path)
print(f"✅ Reference image saved: {img_path}")