def processRequest(rq): ops = Operators() ops.END_OF_MONTHLY = rq.frequence == "endofmonth" ops.MONTHLY = rq.frequence == "month" ops.DAILY = rq.frequence == "day" if rq.accounts is not None: accounts = [Account.accounts[acc] for acc in rq.accounts] opMaths = Maths.MathsAccounts(ops, accounts, accumulate=rq.accumulate) opGraph = CSV.CSV_Cumul_Accounts(ops, accounts) else: subcategories = [SubCategory.subcategories[subcat] for subcat in rq.subcategories] opMaths = Maths.MathsSubCats(ops, subcategories, invert=rq.inverted, accumulate=rq.accumulate) opGraph = CSV.CSV_Cumul_SubCategories(ops, subcategories, invert=rq.inverted) Bank.processTransactions(ops, start=Bank.Date(*rq.start), stop=Bank.Date(*rq.stop)) return {"maths": opMaths.dump(), "graph": opGraph.raw(ops.END_OF_MONTHLY)}