r18292 - gnucash/trunk/src/optional/python-bindings/example_scripts - Forgot to add new file (python patches)
Phil Longstaff
plongstaff at code.gnucash.org
Fri Sep 4 20:33:37 EDT 2009
Author: plongstaff
Date: 2009-09-04 20:33:37 -0400 (Fri, 04 Sep 2009)
New Revision: 18292
Trac: http://svn.gnucash.org/trac/changeset/18292
Added:
gnucash/trunk/src/optional/python-bindings/example_scripts/change_tax_code.py
Log:
Forgot to add new file (python patches)
Added: gnucash/trunk/src/optional/python-bindings/example_scripts/change_tax_code.py
===================================================================
--- gnucash/trunk/src/optional/python-bindings/example_scripts/change_tax_code.py (rev 0)
+++ gnucash/trunk/src/optional/python-bindings/example_scripts/change_tax_code.py 2009-09-05 00:33:37 UTC (rev 18292)
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+
+from gnucash import Session, Account
+
+# choose the account code to select
+TARGET_ACCOUNT_CODE = '1234'
+
+def mark_account_with_code_as_tax_related(account, target_code):
+ """Looks at account to see if it has the target_account_code, if so
+ set the account tax related flag to True and return True.
+ If not, recursively tries to do the same to all children accounts
+ of account.
+ Returns False when recursion fails to find it.
+ """
+ if account.GetCode() == target_code:
+ account.SetTaxRelated(True)
+ return True
+ else:
+ for child in account.get_children():
+ child = Account(instance=child)
+ if mark_account_with_code_as_tax_related(child, target_code):
+ return True
+ return False
+
+# Change this path to your own
+gnucash_session = Session("xml:/home/mark/python-bindings-help/test.xac")
+
+mark_account_with_code_as_tax_related(
+ gnucash_session.book.get_root_account(),
+ TARGET_ACCOUNT_CODE)
+
+gnucash_session.save()
+gnucash_session.end()
More information about the gnucash-changes
mailing list