[GNC-dev] Python-Bindings: issue when C expects GList argument
John Ralls
jralls at ceridwen.us
Mon May 9 20:32:09 EDT 2022
> On May 9, 2022, at 2:17 PM, Matteo Lasagni <laser820 at gmail.com> wrote:
>
> Hi,
> I am writing a python script to automatically associate a set of
> invoices to a single transaction.
> To this end, I am trying to use the function AutoApplyPaymentsWithLots
> with no success:
>
>
> lots = [lot1, lot2, lotn, ..]
> owner.AutoApplyPaymentsWithLots(lots)
>
> This causes the following error:
>
> TypeError: in method 'gncOwnerAutoApplyPaymentsWithLots', argument 2 of
> type 'GList *'
>
> I have tried different solutions from passing different types of python
> objects, to updating the swig typemap and also to modifying the
> auto-generated gnucash_core.c...nothing worked out so far.
> I could write an additional c-wrapper, but I am sure there is a more
> general solution.
The fundamental problem is that there's only a Python out typemap for GList, that is one that converts from a GList* to a python list. Lacking an in typemap the gncOwner.AutoApplyPaymentsWithLots python wrapper expects an already constructed and Swig-wrapped GList*.
Regards,
John Ralls
More information about the gnucash-devel
mailing list