Changeset 52c3467 for treasury/vouchers
- Timestamp:
- Jan 22, 2010, 4:56:19 AM (16 years ago)
- Branches:
- master, client
- Children:
- 31bd056
- Parents:
- e64b195
- git-author:
- Alex Dehnert <adehnert@…> (01/22/10 04:56:19)
- git-committer:
- Alex Dehnert <adehnert@…> (01/22/10 04:56:19)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
treasury/vouchers/import_budget.py
r7874f6a r52c3467 4 4 import subprocess 5 5 import vouchers.models 6 from vouchers.models import BudgetArea 7 from vouchers.models import coerce_full_email 6 import finance_core.models 7 from finance_core.models import BudgetArea 8 from finance_core.models import coerce_full_email 9 from finance_core.models import Transaction 10 from finance_core.models import get_layer_by_name, layer_num 11 from decimal import * 8 12 9 13 columns = ['comm_name','priority','expense_type','start_date','end_date','project','item_name','desc','people','count','costitem','subtotal','per_person','email_list'] … … 14 18 reader = csv.reader(infile) 15 19 for comm in reader: 16 email_list,chair_list,name,prefer_chair,area = comm20 email_list,chair_list,name,prefer_chair,area,account = comm 17 21 if prefer_chair=='yes': prefer_chair = True 18 22 else: prefer_chair = False 19 committees[email_list] = { 'email_list': email_list, 'chair_list': chair_list, 'name': name, 'prefer_chair':prefer_chair, 'area':area }23 committees[email_list] = { 'email_list': email_list, 'chair_list': chair_list, 'name': name, 'prefer_chair':prefer_chair, 'area':area, 'account':account} 20 24 return committees 21 25 … … 60 64 for comm in committees.values(): 61 65 parent = parents[comm['area']] 62 parent.add_child( 63 name=comm['name'], 64 owner=coerce_full_email(comm['chair_list']), 65 interested=coerce_full_email(comm['email_list']), 66 use_owner=comm['prefer_chair'], 67 always=True, 68 ) 66 if len(parent.get_children().filter(name=comm['name'])) > 0: 67 pass 68 else: 69 parent.add_child( 70 name=comm['name'], 71 owner=coerce_full_email(comm['chair_list']), 72 interested=coerce_full_email(comm['email_list']), 73 use_owner=comm['prefer_chair'], 74 always=True, 75 ) 69 76 return (depth+1, ) 70 77 78 budget_layer = layer_num(get_layer_by_name('budget')) 71 79 def do_process_rows(committees, budget, term, depth): 72 80 reader = csv.reader(budget) … … 105 113 else: line_item_obj = line_items[0] 106 114 line_item_obj.mark_used(term) 115 amount = Decimal(subtotal.replace('$', '').replace(',', '')) 116 finance_core.models.make_transfer( 117 item_name, amount, budget_layer, 118 term, budget_source, line_item_obj, desc=desc) 119 107 120 108 121 def main(committees_file, budget_file, term_name, ):
Note: See TracChangeset
for help on using the changeset viewer.