template
This commit is contained in:
3
crontab
3
crontab
@ -1,2 +1,5 @@
|
|||||||
|
MAILTO = wolfgang.hottgenroth@icloud.com
|
||||||
|
CONTENT_TYPE = "text/html"
|
||||||
|
|
||||||
0 0 1 * * user /opt/app/monatliche-forderung-eintragen.py
|
0 0 1 * * user /opt/app/monatliche-forderung-eintragen.py
|
||||||
* * * * * user /opt/app/monatliche-forderung-ueberwachen.py
|
* * * * * user /opt/app/monatliche-forderung-ueberwachen.py
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import requests
|
import requests
|
||||||
import datetime
|
import datetime
|
||||||
|
from Cheetah.Template import Template
|
||||||
|
|
||||||
class ResourceNotFoundException(Exception): pass
|
class ResourceNotFoundException(Exception): pass
|
||||||
|
|
||||||
@ -12,6 +13,7 @@ def getJson(url):
|
|||||||
return resp.json()
|
return resp.json()
|
||||||
|
|
||||||
|
|
||||||
|
TEMPLATE_FILE = "report.tmpl"
|
||||||
BASE_URL = "http://172.16.10.29:5000/hv"
|
BASE_URL = "http://172.16.10.29:5000/hv"
|
||||||
URL_MIETERS_ACTIVE = "{base}/mieters/active"
|
URL_MIETERS_ACTIVE = "{base}/mieters/active"
|
||||||
URL_SALDO_BY_MIETER = "{base}/mieter/{mieterId}/saldo/{year}"
|
URL_SALDO_BY_MIETER = "{base}/mieter/{mieterId}/saldo/{year}"
|
||||||
@ -22,12 +24,19 @@ CURRENT_YEAR = datetime.datetime.now().year
|
|||||||
try:
|
try:
|
||||||
activeMieters = getJson(URL_MIETERS_ACTIVE.format(base=BASE_URL))
|
activeMieters = getJson(URL_MIETERS_ACTIVE.format(base=BASE_URL))
|
||||||
mieters = [ { 'vorname': x['vorname'], 'nachname': x['nachname'], 'id': x['id'] } for x in activeMieters ]
|
mieters = [ { 'vorname': x['vorname'], 'nachname': x['nachname'], 'id': x['id'] } for x in activeMieters ]
|
||||||
|
mietersToReport = []
|
||||||
|
|
||||||
for mieter in mieters:
|
for mieter in mieters:
|
||||||
saldoByMieter = getJson(URL_SALDO_BY_MIETER.format(base=BASE_URL, mieterId=mieter['id'], year=CURRENT_YEAR))
|
saldoByMieter = getJson(URL_SALDO_BY_MIETER.format(base=BASE_URL, mieterId=mieter['id'], year=CURRENT_YEAR))
|
||||||
|
|
||||||
if abs(saldoByMieter['saldo']) > 0.5:
|
if abs(saldoByMieter['saldo']) > 0.5:
|
||||||
name = "{vorname} {nachname}".format(**mieter)
|
mietersToReport.append({
|
||||||
print("{name:30s}: {saldo:10.2f} €".format(saldo=saldoByMieter['saldo'], name=name))
|
'vorname': mieter['vorname'],
|
||||||
|
'nachname': mieter['nachname'],
|
||||||
|
'saldo': saldoByMieter['saldo']
|
||||||
|
})
|
||||||
|
params = { 'mietersToReport': mietersToReport }
|
||||||
|
report = Template(file=TEMPLATE_FILE, searchList=[ params ])
|
||||||
|
print(report)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("ERROR: {}".format(e))
|
print("ERROR: {}".format(e))
|
||||||
|
13
report.tmpl
Normal file
13
report.tmpl
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<html>
|
||||||
|
<head></head>
|
||||||
|
<body>
|
||||||
|
<table>
|
||||||
|
#for $mieter in $mietersToReport
|
||||||
|
<tr>
|
||||||
|
<td>$mieter.vorname $mieter.nachname</td>
|
||||||
|
<td>$mieter.saldo €</td>
|
||||||
|
</tr>
|
||||||
|
#end for
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
Reference in New Issue
Block a user