Various Tools for interacting with Beancount commands and files in the Perl language
Find a file
Bradley M. Kuhn d3395dba78
Handle repeat of query into STDOUT via pty interface to bean-query
Part of the SELECT statement that was entered gets repeated in the
output.  It's some sort of timing issue with IPC::Run or the IO::Pty
because it's often not the entire input but only part of it.

It does however appear that there is usually a blank line right
before output, and in text mode, we can also search for the line of
-'s as a backup to assure we get the proper output and don't send the
garbled input back as the output across the named pipe.

This is a bit of a hacky solution and likely error-prone.
2020-08-10 07:46:20 -07:00
AGPL-3.0.txt GNU Affero General Public License 3.0 as published by the FSF 2020-06-15 12:06:34 -07:00
bean-query-daemon-lib.pl Don't try to cleanup data in client when FIFO doesn't appear. 2020-06-16 13:37:42 -07:00
bean-query-goofy-daemon.plx Handle repeat of query into STDOUT via pty interface to bean-query 2020-08-10 07:46:20 -07:00
COPYRIGHT Add copyright information for this repository. 2020-06-15 12:48:05 -07:00
LICENSE LICENSE of this project is AGPL-3.0-or-later. 2020-06-15 12:47:50 -07:00
README.md bean-query daemon: initial version. 2020-06-15 14:26:31 -07:00

Beancount Tools Written in Perl

These are various tools written in Perl to interact with Beancount project.

bean-query-goofy-daemon.plx

This daemon uses Perl's IPC::Shareable library to take queries as a daemon for Beancount's bean-query. Note that this daemon is not particularly secure, as it has the same security flaws inherent in IPC::Shareable and use of named pipes (as it uses mkfifo from Perl's POSIX library underneath.

bean-query-daemon-lib.pl

This file defines three functions to use in client scripts that want to talk to bean-query-goofy-daemon.plx.

It's not an actual Perl library; just use require in Perl to load it.

[comment]: Local variables: [comment]: mode: markdown [comment]: eval: (visual-line-mode t) [comment]: eval: (auto-fill-mode -1) [comment]: End: