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