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
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)