Read Belgian eID cards and store that data in the database.

See beid : Belgian ID card holders.


Plugin(site, app_label, app_name, ...)

The lino.core.Plugin for this plugin.

class lino_xl.lib.beid.Plugin(site, app_label, app_name, app_module, needed_by)

Bases: Plugin

The lino.core.Plugin for this plugin.


The one and only model on this site which implements BeIdCardHolder.

This is available only after site startup.


When this is a non-empty string containing a directory name on the server, then Lino writes the raw data of every eid card into a text file in this directory.


Whether to just simulate.

simulate_eidreader_path = None

Path for eidreader simulation data.

If given, this should be the name of a directory containing files with eidreader data to be used for simulation.

urlhandler_prefix = 'beid://'

Set this to a string to be passed by the beid_card_processor() Javascript function to the URL protocol handler responsible for running eidreader.

Default value is 'beid://' which should work in a standard usage.

You can tell Lino to use another URL protocol than beid by saying:

SITE.plugins.beid.urlhandler_prefix = 'mybeid://'

You can disable eidreader functionality by saying:

SITE.plugins.beid.urlhandler_prefix = None
preprocessor_delay = 0

Time (in milliseconds) Lino should wait between opening the eidreader URL and sending the actions' AJAX request.

For example on an nginx server with only one worker process, you can set this to make sure that the client machine has read the card data and sent it to the server before you ask the server to process that data:

preprocessor_delay = 3000