@@ -2,7 +2,7 @@ import logging
from flask import Flask, g, jsonify, json
from accounting import Ledger, Account, Posting, Transaction
from accounting import Ledger, Account, Posting, Transaction, Amount
logging.basicConfig(level=logging.DEBUG)
@@ -11,12 +11,14 @@ app.config.from_pyfile('config.py')
ledger = Ledger(ledger_file=app.config['LEDGER_FILE'])
class AccountingEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, Account):
return dict(
name=o.name,
balance=o.balance
amounts=o.amounts,
accounts=o.accounts
)
elif isinstance(o, Transaction):
@@ -28,23 +30,31 @@ class AccountingEncoder(json.JSONEncoder):
account=o.account,
amount=o.amount,
elif isinstance(o, Amount):
symbol=o.symbol
return json.JSONEncoder.default(self, o)
app.json_encoder = AccountingEncoder
@app.route('/')
def index():
return 'Hello World!'
@app.route('/balance')
def balance_report():
report_data = ledger.bal()
return jsonify(balance_report=report_data)
@app.route('/register')
def register_report():
report_data = ledger.reg()