client
Last change
on this file since 6479b5c was
074fac7,
checked in by Alex Dehnert <adehnert@…>, 15 years ago
|
Refactor mass account adding from add_gl_accounts
|
-
Property mode set to
100644
|
File size:
872 bytes
|
Rev | Line | |
---|
[074fac7] | 1 | import finance_core.models |
---|
| 2 | |
---|
| 3 | class NullWrite: |
---|
| 4 | def write(self, string, ): |
---|
| 5 | pass |
---|
| 6 | nullwrite = NullWrite() |
---|
| 7 | |
---|
| 8 | def mass_add_accounts(base, accounts, writeto=nullwrite): |
---|
| 9 | for name, number in accounts: |
---|
| 10 | try: |
---|
| 11 | elem = finance_core.models.BudgetArea.get_by_pathstr(name, base=base, ) |
---|
| 12 | except KeyError: |
---|
| 13 | writeto.write("Adding %s (%s)\n" % (name, number,),) |
---|
| 14 | # It doesn't exist |
---|
| 15 | if '.' in name: |
---|
| 16 | parts = name.rsplit('.', 1) |
---|
| 17 | path = parts[0] |
---|
| 18 | name = parts[1] |
---|
| 19 | parent = finance_core.models.BudgetArea.get_by_pathstr(path, base=base, ) |
---|
| 20 | else: |
---|
| 21 | parent = base |
---|
| 22 | child = parent.add_child(name=name, account_number=number, always=True, ) |
---|
| 23 | else: |
---|
| 24 | writeto.write("%s (%s) already present\n" % (name, number,)) |
---|
| 25 | |
---|
Note: See
TracBrowser
for help on using the repository browser.