On Mon, Jun 09, 2014 at 12:53:38AM +0200, Christoph Holtermann wrote: > Hello, > > for my python latex invoice script I tried to access the owners data. I tried > to work my way to it and came across the kvp system. I made a rude > path through there with a working example to access the companies data. > > If someone is interested in clarifying the swig qof_instance and kvp_frame > stuff for python it would be nice to cooperate. > > My branch on github about this is > https://github.com/c-holtermann/gnucash/tree/python-kvp >
Hi I have been working with the python bindings but all my knowledge is from my human introspection of the existing code I have worked on adding the budget - as you have done you add the include files to the swig interface file gnucash_core.i and most objects get a base swig interface My analysis shows that the bindings then wrap the raw swig objects inside more pythonic classes using GnuCashCoreClass as the base object so eg in your your case you might want to define class KvpFrame(GnuCashCoreClass): you then add methods by calling the add_methods function eg KvpFrame.add_methods_with_prefix('kvp_frame_') where any c function that starts with the string kvp_frame_ gets added to the class This does add all methods that begin with this string - the only methods you can actually use in the class though are those where the C kvpframe structure is the first argument if methods return special objects the should use methods_return_instances to add the return object type I have messed a little with the Kvp stuff - one problem is that it tends to return multiple types which is not so easy to handle - may have to follow the GList typemap as defined in base-typemaps.i David _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel