source: remit/finance_core/util.py @ 5c334f6

client
Last change on this file since 5c334f6 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
Line 
1import finance_core.models
2
3class NullWrite:
4    def write(self, string, ):
5        pass
6nullwrite = NullWrite()
7
8def 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.