CashUtil CLI Progress report
Neil Williams
linux at codehelp.co.uk
Wed Aug 10 16:35:31 EDT 2005
(as much for my own records and for Daniel's info as anything else).
Work completed:
GETTEXT support - quite a small translation with a lot of common ground
with GnuCash translations, albeit with minor changes due to the UI.
POPT support and aliases
man page
Clean build environment - once QOF 0.6.0 is released, CashUtil will build
using make distcheck without errors. Currently builds cleanly using
a CVS build of QOF using a ./configure option.
Mac OSX / Fink support - has built cleanly on OSX with fink since before
first release. A proportion of testing and development has been on OSX.
36K stripped executable size.
Functions already supported:
Non-interactive commands completed: (inherited from PilotQOF).
-i, --input <filename> : Query the QSF XML in <filename>
-l, --list : List all databases supported by the current QOF framework and
exit.
--explain : List the fields within the specified database and exit, requires
-d.
-t, --date string : Shorthand to only query objects that contain the specified
date.
-d, --database string : Shorthand to only query objects within one specific
supported database.
-e, --exclude string : Shorthand to exclude a supported database from the
query.
-s, --sql string : Specify a SQL query on the command line.
-f, --sql-file filename : Specify one or more SQL queries contained in a file.
-w, --write filename : Write the results of any query to the file (STDOUT if
omitted).
Interactive shell handling completed: (to be added to PilotQOF)
add [object] : Add a new instance of the object.
list : Synonym for the --list command outside the shell.
explain [object] : Synonym for the --explain command outside the shell.
load [filename] : Replace the current book with data from the file. Prompt to
save the current book, if any.
write [filename] : Write out the current book. If no filename is given, write
to the original file. (uses STDOUT if no filename is supplied.)
merge [filename] : Merge data from the file into the current book.
help | ? : The help screen.
quit | q | exit : Quit the shell
Functions requiring completion
Interactive
edit [object] : Select one instance and edit (set) the parameter values.
(edit already works when an object has been pre-selected with add.)
print [object] : Select one instance and print the parameter values.
(print already works when an object has been pre-selected with add.)
delete [object] : Select one instance for deletion.
sql Run a SQL statement.
(all these centre on the selection sub-shell which needs some planning
from a UI perspective. The code is fairly trivial, the layout and interface
is not. Ideas welcome.)
Other (internal) work still required
The GnuCash XML v2 backend is almost ready but is not currently loadable -
this will require changes in QOF.
Folding into the GnuCash source tree - sync with QOF and Makefile changes.
Limited undo support
Bug testing / fixing (!)
ToDo page: http://code.neil.williamsleesmill.me.uk/cashutil/todo.html
I expect to have a sample patch available to bring CashUtil into the GnuCash
source tree in a month or so. Further tweaks are likely after that. (I could
do it sooner but I need more time to test the changes within GnuCash.)
Work to be completed AFTER release of the first version:
Comprehensive undo support via QOF.
STDIN input using shell redirection. (cashutil < infile > outfile)
(requires changes to current libxml2 handling).
Available from the usual locations:
http://code.neil.williamsleesmill.me.uk/cashutil.tar.gz
http://code.neil.williamsleesmill.me.uk/cashutil-source.tar.gz
Doxygen:
http://code.neil.williamsleesmill.me.uk/cashutil/
Home page:
http://linux.codehelp.co.uk/cashutil/
Manpage (HTML version from DocBook):
http://linux.codehelp.co.uk/cashutil/cashutil.html
Time for a change, so expect some patches to GnuCash from QOF soon!
:-)
(finally!)
--
Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20050810/b29fc56c/attachment.bin
More information about the gnucash-devel
mailing list