Skip to main content

Html5-QRCode bindings for Lona

Project description

lona-html5-qrcode

license MIT Python Version Latest Version

lona-html5-qrcode provides Html5-QRCode bindings for Lona

Demo

(This demo is available in test-script/test_script.py)

Installation

lona-html5-qrcode can be installed using pip

pip install lona lona-html5-qrcode

Usage

from lona.html import HTML, H1, Div
from lona import App, View

from lona_html5_qrcode.html import Html5QRCodeScanner

app = App(__file__)


@app.route('/')
class QRCodeView(View):
    def handle_scan_result(self, scanner, data):
        scanner.stop()
        self.result.set_text(f'{json.dumps(data)}\n')

    def handle_request(self, request):
        self.result = Div()

        return HTML(
            H1('QRCodeScanner'),
            self.result,
            Html5QRCodeScanner(
                handle_scan_result=self.handle_scan_result,
            ),
        )


app.run()

Arguments

Name Type Default Description
handle_scan_result Callable | None None Callback that gets called on every scan result. Gets called with a reference to the scanner node, and the scan data
config dict | None None html5-qrcode config. Default is available using Html5QRCodeScanner.get_default_config()
theme str '' CSS theme name
autostart bool False Start scanning on first render

Default html5-qrcode config

{
    'fps': 10,
    'qrbox': {
        'width': 100,
        'height': 100,
    },
    'rememberLastUsedCamera': True,
}

Themes

When theme is set, a CSS class named f'html5-qrcode-{theme}' gets added to Html5QRCodeScanner. This class then can be used for theming.

lona-html5-qrcode comes with a list of default themes builtin.

Name Description
picocss Better integration into lona-picocss

Properties

Name Type Description
handle_scan_result Callable | None Callback that gets called on every result. Gets called with a reference to the scanner node, and the scan data

Methods

Name Return Type Description
is_running() bool Check wether html5-qrcode is scanning
start() None Start html5-qrcode scanning
stop() None Stop html5-qrcode scanning
get_default_config() dict Returns the default config used for html5-qrcode

Troubleshooting

Camera access is only supported in secure context like https or localhost

Html5-QRCode uses the browser media API scan QR-Codes. The browser grants access to this API only in secure contexts. To get around this in development, use the Chrome flag unsafely-treat-insecure-origin-as-secure, like shown below.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lona-html5-qrcode-0.1.tar.gz (119.4 kB view details)

Uploaded Source

Built Distribution

lona_html5_qrcode-0.1-py3-none-any.whl (119.3 kB view details)

Uploaded Python 3

File details

Details for the file lona-html5-qrcode-0.1.tar.gz.

File metadata

  • Download URL: lona-html5-qrcode-0.1.tar.gz
  • Upload date:
  • Size: 119.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for lona-html5-qrcode-0.1.tar.gz
Algorithm Hash digest
SHA256 b410024874fcd739253434684cbf85e0bc389d19e2007f1616e0aa2b6d83852e
MD5 c38979ef84c991bf3ee8ea21ed7b7a92
BLAKE2b-256 685b5026d9f14c573ba2c6ea660b866ee2e6c9b2ec296cb9b763141790323a76

See more details on using hashes here.

File details

Details for the file lona_html5_qrcode-0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for lona_html5_qrcode-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d5db3f00d2ffb184073b2856987dad1e042f1f51bbd83372d32718b65974005
MD5 500881fd4dab61dc1664682f7a149163
BLAKE2b-256 a5afb46a43fd850f1c74682b597d4ad6eacda19c323f79b9b3c406562cc6b2e7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page