aboutsummaryrefslogtreecommitdiff
path: root/evi_to_asn.py
blob: e91fbd46ef60b2ed65bdb8ae9fa6d8decf81015b (plain) (blame)
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
import csv
import json
import sys

# Script om Evi vermogensontwikkeling om te zetten in het CSV formaat van de
# ASN, zodat het door plotasn.py meegenomen kan worden.
#
# Om de data te krijgen:
#
# 1. Ga naar https://portal.evivanlanschot.nl/rekening
# 2. Klik op 'Vermogensontwikkeling'
# 3. Er wordt een request gedaan naar /api/dashboard/<ID>/chart/sinceStart?chartType=wealthDevelopment
# 4. Dit script converteert zulke data op stdin naar een CSV bestand op stdout

def evi_to_asn(json):
    prev = 0

    for entry in json['dataPoints']:
        value = entry['value']
        if value == prev:
            continue

        diff = round(value - prev, 2)
        yield '', '', '', '', '', '', '', 'EUR', prev, 'EUR', diff, entry['dateTime']

        prev = value

if __name__ == '__main__':
    for line in sys.stdin:
        obj = json.loads(line)

        wr = csv.writer(sys.stdout)
        for line in evi_to_asn(obj):
            wr.writerow(line)