BastliPOSPrinter

A collection of programs that allow receipt printing
git clone git://xatko.vsos.ethz.ch/BastliPOSPrinter.git
Log | Files | Refs

commit 805844e27f926f0c5c187a3ce688179f44d84f1a
parent 7ccca157a12c9eea748a75ed0e16f0c26c49d288
Author: Dominik Schmidt <doeme@bastli.ethz.ch>
Date:   Tue,  4 Sep 2018 22:57:17 +0200

Explain the program

Diffstat:
README.md | 31+++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -0,0 +1,31 @@ +RabbitMQ POS UNIX Service (RaPOUNSer) +===================================== + +Requirements +------------ + +* amqp-tools +* A D-Compiler, e.g. ldc2 +* ansifilter +* bash +* groff + +Operation +--------- + +The `./daemon.sh` script is just a wrapper around `amqp-consume` +Whenever a message gets sent to the queue, the ./start_pipeline.sh script is executed. +This script (and ./pipeline.sh) execute all executable files inside ./pipeline/ in lexical +order, and connects them to each other via stdout←→stdin. + +Pipeline +-------- + +The pipeline does the following: + +1. The JSON is parsed and applied to a groff template (a neat typesetting system historically used for man-pages) +2. This groff-file is then converted from UTF8 to ASCII +3. It is fed into the groff processor, which outputs an ascii file but with escape sequences for a VT100-terminal +4. These ANSI-Sequences are removed with `ansifilter` +5. Empty lines at the beginning of the file are removed +6. The file is sent off to the printer