Special QR Code factory functions¶
The segno.helpers
module provides factory functions to create common
QR Codes for encoding WIFI configurations, vCards and MeCards,
EPC QR Codes or geographic locations.
The created QR Codes use at minimum the error correction level “L”. If a better error correction level is possible without changing the QR Code version, the better error correction level will be used.
Create a QR Code for a WIFI configuration¶
>>> from segno import helpers
>>> # Create a WIFI config with min. error level "L" or better
>>> qr = helpers.make_wifi(ssid='My network', password='secret', security='WPA')
>>> qr.designator
'3-M'
If you want more control over the creation of the QR Code (i.e. using a specific
version or error correction level, use the segno.helpers.make_wifi_data()
factory function, which returns a string which encodes the WIFI configuration.
>>> import segno
>>> from segno import helpers
>>> config = helpers.make_wifi_data(ssid='My network', password='secret', security='WPA')
>>> config
'WIFI:T:WPA;S:My network;P:secret;;'
>>> # Create a QR Code with error correction level "H"
>>> qr = segno.make(config, error='h')
>>> qr.designator
'4-H'
Create a QR Code encoding geographic information¶
>>> from segno import helpers
>>> latitude, longitude = 38.8976763,-77.0365297
>>> qr = helpers.make_geo(latitude, longitude)
>>> qr.designator
'2-M'
A factory function for encoding the geographic information as string is also available.
>>> import segno
>>> from segno import helpers
>>> latitude, longitude = 38.8976763, -77.0365297
>>> geo_uri = helpers.make_geo_data(latitude, longitude)
>>> geo_uri
'geo:38.8976763,-77.0365297'
>>> # Use error correction level "H"
>>> qr = segno.make(geo_uri, error='H')
>>> qr.designator
'4-H'