X-Git-Url: https://git.toastfreeware.priv.at/chrisu/seepark.git/blobdiff_plain/8f6a1d3a3440e4fa5324a211715880dc9144a6e2..0d28ef3dfb5db3645cba61437df118507a1e04b8:/web/seepark_web.py?ds=inline diff --git a/web/seepark_web.py b/web/seepark_web.py index 1ff5151..471d716 100644 --- a/web/seepark_web.py +++ b/web/seepark_web.py @@ -291,8 +291,15 @@ def currentwatertemperature(sensorid): return result.value, result.timestamp -def add_month(date): - return (date + datetime.timedelta(days=42)).replace(day=1) +def first_of_month(date, month): + date = date.replace(day=1) + if month == 0: + return date + if month == 1: + return (date + datetime.timedelta(days=42)).replace(day=1) + if month == -1: + return (date - datetime.timedelta(days=1)).replace(day=1) + assert False @app.route('/api//sensors/') @@ -358,14 +365,14 @@ def currentwater(version): return jsonify({"value": value, "timestamp": timestamp}) -@app.route('/report//') +@app.route('/report//') def report(year, month): - """Report for given year and month + """Report for given year (4 digits) and month (2 digits) """ paper_size = (29.7 / 2.54, 21. / 2.54) # A4 begin = datetime.datetime(year, month, 1) - end = add_month(begin) + end = first_of_month(begin, 1) water_data = sensordata_to_xy(select_sensordata(mainsensor, 'Wassertemperatur', begin, end)) air_data = openweatherdata_to_xy(select_openweatherdata(cityid, begin, end))