示例#1
0
def create_tree(muni, year):
    schema_dataset = get_scheme()

    tree = Tree.from_dict(schema_dataset.find_one())
    tree.update_field('muni', muni)
    tree.update_field('year', year)
    if tree.children[0].expense:
        expense_root = tree.children[0]
        revenue_root = tree.children[1]
    else:
        expense_root = tree.children[1]
        revenue_root = tree.children[0]

    budget_dataset = get_raw_budget(muni, year)

    for i, line in enumerate(budget_dataset.find({})):
        node = Tree(muni=muni, year=year, **line)
        if len([x for x in expense_root.children if x.code == node.code[1]]):
            expense_root.insert_node(node)
        else:
            revenue_root.insert_node(node)

    tree.update_amount()

    schema_dataset.close()
    budget_dataset.close()

    return tree
示例#2
0
 def handle(self, *args, **options):
     muni = args[0]
     year = args[1]
     print "bla for the win"
     schema_datasset = tree_Dataset("scheme", 0)
     tree = Tree.from_dict(schema_datasset.find_one())
     tree.update_field("muni", muni)
     tree.update_field("year", year)
     raw_dataset = raw_Dataset(muni, year)
     for line in raw_dataset.find({}):
         node = Tree(muni=muni, year=year, **line)
         # import pdb; pdb.set_trace()
         tree.insert_node(node)
     tree.update_amount()
     dataset = tree_Dataset(muni, year, clean=True)
     dataset = flaten_Dataset("flaten")
     # dataset.insert(tree.to_dict())
     tree.to_db(dataset)