Added documentation and fixed typos

This commit is contained in:
Dominik Moritz Roth 2021-10-07 17:22:22 +02:00
parent 0cc00fdf11
commit fc0019e57c
2 changed files with 12 additions and 3 deletions

View File

@ -17,7 +17,7 @@ Converts the given amount of euros to meuros for the given date. (wholeCents mea
#### meuroToEuro(meur, date=None, wholeCents=True)
Converts the given amount of meuros to euros for the given date. (wholeCents means it rounds to two decimal places)
#### liveValue(eur, interval=10)
Print the current amount of meuros for the given amunt of euros every interval-seconds. Comes in handy when you want to watch your live saving slowly fade away thanks to inflation.
Print the current amount of meuros for the given amunt of euros every interval-seconds. Comes in handy when you want to watch your life savings slowly fade away thanks to inflation.
##### When the date is set to None the current date is used. Otherwise a datetime-object is expected
## Caveats
The ecb only gives an estimate for the inflation of the last month and no data for the current month.

View File

@ -2,10 +2,11 @@ import requests
from datetime import datetime
from dateutil import relativedelta
# Ugly code thats outside of any function
url = 'https://sdw.ecb.europa.eu/quickviewexport.do?SERIES_KEY=122.ICP.M.U2.N.000000.4.ANR&type=csv'
resp = requests.get(url)
lines = resp.text.split('\n')[6:]
years = {}
years = {} # Will later contain the monthly factor of inflation (~1.0016667) for every month
for line in lines:
vals = line.split(',')
year = int(vals[0][:4])
@ -21,6 +22,9 @@ for year in years:
if month not in months:
years[year][month] = 1 + 0.02/12 # Lets say the ECB archives their target
# Gives you the exchange rate between euros and meuros for the given date.
# (Should always be a float < 1)
# date should be either a datetime-object or None (= current date)
def exchangeRate(date=None):
if date==None:
date = datetime.now()
@ -47,13 +51,18 @@ def exchangeRate(date=None):
akk *= inflationThisMonth
return 1/akk
# Converts the given amount of euros to meuros for the given date. (wholeCents means it rounds to two decimal places)
# date should be either a datetime-object or None (= current date)
def euroToMeuro(eur,date=None,wholeCents=True):
return round(eur * factorForDate(date),[64,2][wholeCents])
# Converts the given amount of meuros to euros for the given date. (wholeCents means it rounds to two decimal places)
# date should be either a datetime-object or None (= current date)
def meuroToEuro(meur,date=None,wholeCents=True):
return round(meur / factorForDate(date),[64,2][wholeCents])
# Print the current amount of meuros for the given amunt of euros every <interval>-seconds.
# Comes in handy when you want to watch your life savings slowly fade away thanks to inflation.
def liveValue(eur,interval=10):
import time
while True: