Metadata-Version: 2.1
Name: pibooth_gallery_qr
Version: 1.0.0
Summary: Pibooth plugin: QR code on wait screen pointing to a local gallery service
Home-page: https://github.com/ceeeeb/pibooth-gallery-qr
Download-URL: https://github.com/ceeeeb/pibooth-gallery-qr/archive/1.0.0.tar.gz
Author: Christophe
License: MIT license
Keywords: Raspberry Pi,photobooth,gallery,qr
Platform: unix
Platform: linux
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera
Description-Content-Type: text/x-rst
License-File: LICENSE

pibooth-gallery-qr
==================

Pibooth plugin that displays a QR code on the wait screen pointing to a
local LAN photo gallery served by a companion HTTP service. The gallery
shows photos taken during the **current pibooth session** (since the
last pibooth startup) and serves them in a mobile-friendly grid with a
full-screen lightbox.

Use case
--------

Allow guests at an event to scan the QR with their phone (on the same
Wi-Fi as the photobooth) and browse the photos from the current session
without needing internet, Nextcloud, or any third-party service.

How it works
------------

Two pieces:

1. **The plugin** ``pibooth_gallery_qr``: on ``pibooth_startup`` it writes
   a session marker file. On ``state_wait_enter`` it blits a QR code
   onto the wait screen pointing to ``http://<host>:<port>/``.

2. **The gallery service** (``gallery.py`` shipped in the source repo):
   a tiny stdlib HTTP server that reads the session marker, serves the
   ``*_pibooth.jpg`` files of the configured directory whose mtime is
   greater than or equal to the marker's mtime, and renders them with a
   click-to-fullscreen lightbox.

Install the plugin via pip and run the service via systemd. See the
source repo for an example unit file.

Configuration
-------------

The plugin adds a ``[GALLERY_QR]`` section::

    [GALLERY_QR]
      activate = True            # enable the plugin (writes session marker)
      show_qr = True             # display the QR on the wait screen
      host =                     # empty = autodetect (default route IP)
      port = 8081
      session_file = /tmp/pibooth-session-start
      qr_position = bottom-left  # top-left, top-right, bottom-left, bottom-right, center
      qr_size = 5                # 3-10
      qr_margin = 10             # px from screen edge

License
-------

MIT
