~jfb-tempo-consulting/unifield-wm/sync-env-py3

« back to all changes in this revision

Viewing changes to data/generate_rate.py

  • Committer: Mallory MARCOT
  • Date: 2018-07-25 09:43:22 UTC
  • mto: This revision was merged to the branch mainline in revision 138.
  • Revision ID: mma@tempo-consulting.fr-20180725094322-78sw94kax6ujwvng
can now select currency for each HQ

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
import requests
2
2
from mx import DateTime
3
3
date_now = DateTime.now()+DateTime.RelativeDateTime(day=1)
4
 
#for base in ['eur', 'chf']:
5
 
date_from = DateTime.strptime('2022-01-01', '%Y-%m-%d')
6
 
feur = open('eur.txt', 'w')
7
 
fchf = open('chf.txt', 'w')
8
 
 
9
 
#r = requests.get('https://api.exchangeratesapi.io/history?start_at=%s&base=%s'%(date_from.strftime('%Y-%m-%d'), base.upper()))
10
 
while date_from < date_now:
11
 
    r = requests.get('https://ec.europa.eu/budg/inforeuro/api/public/monthly-rates?year=%s&month=%s&lang=fr' % (date_from.strftime('%Y'), date_from.strftime('%m')))
12
 
    d = r.json()
13
 
    feur.write("%s\n" % (date_from.strftime('%Y-%m-01'), ))
14
 
    fchf.write("%s\n" % (date_from.strftime('%Y-%m-01'), ))
15
 
    cur = {}
16
 
    for rates in d:
17
 
        if rates['isoA3Code'] != 'EUR':
18
 
            feur.write(" %s:%s\n" % (rates['isoA3Code'], rates['value']))
19
 
        cur[rates['isoA3Code']] = rates['value']
20
 
 
21
 
    for code in cur:
22
 
        if code != 'CHF':
23
 
            fchf.write(" %s:%s\n" % (code, cur[code]/cur['CHF']))
24
 
    date_from += DateTime.RelativeDateTime(months=1)
25
 
feur.close()
26
 
fchf.close()
 
4
for base in ['eur', 'chf']:
 
5
    date_from = DateTime.strptime('2016-01-01', '%Y-%m-%d')
 
6
    f = open('%s.txt'%base, 'w')
 
7
 
 
8
    while date_from <= date_now:
 
9
        r = requests.get('http://api.fixer.io/latest?date=%s&base=%s'%(date_from.strftime('%Y-%m-%d'), base))
 
10
        d = r.json()
 
11
        f.write("%s\n" % (date_from.strftime('%Y-%m-%d'), ))
 
12
        for r in d['rates']:
 
13
            f.write(" %s:%s\n" % (r, d['rates'][r]))
 
14
        date_from += DateTime.RelativeDateTime(months=1)
 
15
    f.close()