-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
56 lines (41 loc) · 1.64 KB
/
Copy pathapp.py
File metadata and controls
56 lines (41 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from flask import Flask, jsonify, render_template
from bank_aggregators import *
from constants import *
app = Flask(__name__)
@app.route('/', methods=['GET'])
def hello_world():
op = OPAggregator('OP', OP_HEADERS, OP_BASE_URL)
nordea = NordeaAggregator('Nordea', NORDEA_HEADERS, NORDEA_BASE_URL)
op_response = op.get_all_accounts()
op_total_balance = 0
for account in op_response:
op_total_balance += account['balance']
nordea_raw_resp = nordea.get_all_accounts()
nordea_account_dump = nordea_raw_resp.get('response', None)
nord_total_balance = 0
if not nordea_account_dump:
return jsonify({'Error': 'Fuck me '})
nord_accounts = nordea_account_dump.get('accounts', None)
if not nord_accounts:
return jsonify({'Error': 'Fuck you '})
for n_account in nord_accounts:
nord_total_balance += float(n_account['availableBalance'])
return jsonify({
'op': op_total_balance,
'nordea': nord_total_balance,
'total_balaance': round((op_total_balance + nord_total_balance), 2)
})
nordea_accounts = nord.get_all_accounts()
return jsonify({op.name: op_response, nord.name: nordea_accounts})
@app.route('/op', methods=['GET'])
def op_accounts():
op = OPAggregator('OP', OP_HEADERS, OP_BASE_URL)
op_response = op.get_all_accounts()
return jsonify({'op': op_response})
@app.route('/nordea', methods=['GET'])
def nordea_accounts():
nordea = NordeaAggregator('Nordea', NORDEA_HEADERS, NORDEA_BASE_URL)
nordea = nordea.get_all_accounts()
return jsonify({'nordea': nordea.pop('response')})
if __name__ == '__main__':
app.run(port=8000)