diff --git a/app.py b/app.py index c823aa0..ee921c0 100644 --- a/app.py +++ b/app.py @@ -47,28 +47,22 @@ def index(): with open(log_path, 'a', encoding='utf-8') as f: from datetime import datetime as dt f.write(f"{dt.now().isoformat()} FUNC: {action}\n") - if action == 'tage': + if action == 'tage_werktage': active_idx = 0 start = request.form.get('start1') end = request.form.get('end1') + is_werktage = request.form.get('werktage') in ('on', 'true', '1', True) try: d1 = datetime.strptime(start, '%Y-%m-%d') d2 = datetime.strptime(end, '%Y-%m-%d') - tage = abs((d2 - d1).days) + if is_werktage: + if d1 > d2: + d1, d2 = d2, d1 + tage = np.busday_count(d1.date(), (d2 + timedelta(days=1)).date()) + else: + tage = abs((d2 - d1).days) except Exception: tage = 'Ungültige Eingabe' - elif action == 'werktage': - active_idx = 1 - start = request.form.get('start2') - end = request.form.get('end2') - try: - d1 = datetime.strptime(start, '%Y-%m-%d') - d2 = datetime.strptime(end, '%Y-%m-%d') - if d1 > d2: - d1, d2 = d2, d1 - werktage = np.busday_count(d1.date(), (d2 + timedelta(days=1)).date()) - except Exception: - werktage = 'Ungültige Eingabe' elif action == 'wochentag': active_idx = 2 datum = request.form.get('datum3') diff --git a/templates/index.html b/templates/index.html index ed032b8..01dd943 100644 --- a/templates/index.html +++ b/templates/index.html @@ -55,7 +55,7 @@ - Anzahl der Tage zwischen zwei Daten + Anzahl der Tage/Werktage zwischen zwei Daten