You want "get_children" instead of "get_descendents". On Thu, 2024-10-24 at 21:51 -0700, Noerr via gnucash-user wrote: > Hi, > > I've been trying to get started with the GnuCash API Python > bindings > after just using the main desktop app for the last 12 years. > I built GnuCash app (Build ID: 5.9+(2024-09-28) along with API and > Python > bindings enabled for my system (MacOS 15.0 , M1 Arm) > > My problem is that I haven't been able to interact with my GnuCash > data in > a useful way yet. Namely, I can't seem to access any existing > accounts, > and thus no transactions either. Nor any entries in the price > database. > > First I used the desktop app to save-as a copy of my GnuCash data in > the > XML format. > Next I use python and commands generally like the following. I do > not see > any output that is expected when iterating over the descendants of > root_account. ( I never see the text output, 'checking a > descendant...' ) > > > from gnucash import (Session, Account, Transaction, Split, > GncNumeric, > SessionOpenMode, gnucash_core) > uri="file:///Users/me/Downloads/gnucash_localSave.gnucash" > session = Session(book_uri=uri, > mode=gnucash_core.SessionOpenMode.SESSION_NORMAL_OPEN ) > book = session.book > table = book.get_table() > currency_code = 'USD' > currency = table.lookup('ISO4217', currency_code) > root_account = book.get_root_account() > for acc in root_account.get_descendants(): > print('checking a descendant...') > if acc.GetType() == ACCT_TYPE_STOCK: > print('found a stock') > > > **So why is root_account.get_descendants() returning an empty > container?** > > The Bindings/API aren't completely dead though. With the same > session and > book open above, I was playing around with some of the ideas Eberhard > demonstrated in this thread [ > https://lists.gnucash.org/pipermail/gnucash-user/2024-September/113402.html > ] > and I called > > > > create_accounts(session, book, root_acct) > > > > quit() > > To my suprise, when I used the desktop app to open > gnucash_localSave.gnucash, my real accounts and transactions are > gone, but > I have three accounts: Expenses, Opening Balance, and Savings in CAD > currency, and with the specified opening balances. > So the Bindings and API worked to create stuff. > > As an aside, the file did flag as locked upon open in the desktop > app. I > suspect there's a missing unlock somewhere in Python Bindings / > destructor > code. > > Cheers, > > Noah > _______________________________________________ > gnucash-user mailing list > gnucash-user@gnucash.org > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All.
_______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.