spreadsplugΒΆ
spreadsplug package
This package contains all of the plugins and device drivers that are shipped with the application and supported by the spreads developers themselves.
In alphabetical order:
spreadsplug.autorotate
- Postprocessing plugin to rotate captured images according to their EXIF orientation tag.
spreadsplug.dev.chdkcamera
- Driver for Canon cameras with the CHDK firmware.
spreadsplug.dev.gphoto2
- Driver for cameras supported by libgphoto2
spreadsplug.dev.dummy
- Dummy driver that implements the driver interface and just spits out one of the two test images. Intended for rapid development, not for general usage.
spreadsplug.djvubind
- Output plugin to compress and bundle images (and OCRed text) into a single DJVU file using the djvubind utility.
spreadsplug.gui
- Subcommand plugin for a graphical wizard using Qt (via the PySide bindings)
spreadsplug.hidtrigger
- Trigger plugin to initiate a capture from USB HID devices (like foot-pedals or gamepads)
spreadsplug.intervaltrigger
- Trigger plugin to initiate a capture in a configurable interval.
spreadsplug.pdfbeads
- Output plugin to compress and bundle images (and OCRed text) into a single PDF file using the pdfbeads utility.
spreadsplug.scantailor
- Postprocesing plugin to put captured images through the ScanTailor application.
spreadsplug.tesseract
- Postprocessing plugin to perform optical character recognition on the images, using the tesseract application
spreadsplug.web
- Subcommand plugin for a RESTful HTTP API (implemented with Flask and Tornado) and a single-page JavaScript web application (implemented with ReactJS)
Trigger plugin that triggers in a configurable interval.
Plugin to provide a RESTful HTTP API and a single-page web application for controlling the software.
The code for the plug in is split across the following server-side modules:
spreadsplug.web.app
- Contains the subcommand hook as well as the initialization code for the web application.
spreadsplug.web.endpoints
- WSGI endpoints that provide most parts of the RESTful interface, implemented with Flask.
spreadsplug.web.handlers
- Tornado HTTP handlers for long-polling and chunked downloading endpoints, as well as a WebSocket handler for sending out server-side events to all clients.
spreadsplug.web.tasks
- Implementations of long-running tasks that are performed in the background, across multiple request-response-cycles, through the Huey task queue.
spreadsplug.web.discovery
- Code for both advertising of postprocessing-servers via UDP multi-casting, as well as the auto-discovery of said servers from other instances.
spreadsplug.web.util
- Various utility classes and functions for the plugin.
spreadsplug.web.winservice
- Code for a simple Windows service that runs the application in the background and provides a small taskbar-icon to allow opening a browser and shutting down the appplication.
For the documentation of the client-side part, please refer to the following document: TODO