This is an alpha alpha implementation of report writing in python Three existing reports "functioning" - hello_world example, price_scatter and cash_flow
Functioning means a report page is displayed which can be exported as html. Coding primarily based on scheme at the moment for testing and comparing to the scheme way
Major update to work with gnucash 3.2 and python 3
Requirements:
swig python python introspection bindings to gtk version 3 python gobject/glib bindings python elementtree module gnucash python bindings
The git source should be stored in a directory called python under ~/.gnucash. The git branch release is the minimal files needed for working, master is all files including implementations which failed or been superseded.
Implementation needs 1 compiled module, swighelpers.so plus introspection bindings for 15 gnucash gobjects, built under plugin/gir_build. The directory ~/.gnucash/python/plugin should be copied to the primary gnucash source under gnucash/python as a subdirectory. The shared objects (.so) need to be copied back to ~/.gnucash/python after compilation. The introspection binding typelibs need to be copied back to ~/.gnucash/python/girepository.
Makefile.wrap is defined which is designed to be run in an existing gnucash source after a full compilation step
to compile: make -f Makefile.wrap release
to build introspection bindings in plugin/gir_build: make -f Makefile.wrap_gir repository
Three defines required
HTML output is via python wrappers access to the gnucash webkit output functions python elementtree module used as document model for HTML output
The python modules are designed to work from a ~/.gnucash/python directory ui files need to be copied into a ~/.gnucash/ui directory
A modified main gnucash installation share/gnucash/init.py is needed which loads from a local_init.py file installed in ~/.gnucash/python
PRELIMINARY PARTIAL WORKING ONLY!!
only partial implementation of report options only partial implementation of style tables
modified option saving not working/tested modified report saving not working/tested