From fc0019e57c84f0e7932cc82c76aa1fad3798181c Mon Sep 17 00:00:00 2001 From: Dominik Roth Date: Thu, 7 Oct 2021 17:22:22 +0200 Subject: [PATCH] Added documentation and fixed typos --- README.md | 2 +- meuro.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5985d75..8b9272b 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/meuro.py b/meuro.py index b3da779..f5551d1 100644 --- a/meuro.py +++ b/meuro.py @@ -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 -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: