File diff dd260aa02127 → af6e28d1680a
accounting/web.py
Show inline comments
...
 
@@ -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):
 
            return dict(
...
 
@@ -28,23 +30,31 @@ class AccountingEncoder(json.JSONEncoder):
 
            return dict(
 
                account=o.account,
 
                amount=o.amount,
 
            )
 
        elif isinstance(o, Amount):
 
            return dict(
 
                amount=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()