Fehler in API behoben
This commit is contained in:
@@ -334,6 +334,7 @@ curl -X POST http://localhost:5000/api/plusminus \
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Hinweis:**
|
**Hinweis:**
|
||||||
|
|
||||||
- `"einheit"`: `"tage"`, `"wochen"` oder `"monate"`
|
- `"einheit"`: `"tage"`, `"wochen"` oder `"monate"`
|
||||||
- `"richtung"`: `"add"` (plus) oder `"sub"` (minus)
|
- `"richtung"`: `"add"` (plus) oder `"sub"` (minus)
|
||||||
- `"werktage"`: `true` für Werktage, sonst `false` (nur bei `"tage"` unterstützt)
|
- `"werktage"`: `true` für Werktage, sonst `false` (nur bei `"tage"` unterstützt)
|
||||||
|
20
app.py
20
app.py
@@ -415,34 +415,22 @@ def api_plusminus():
|
|||||||
if is_werktage:
|
if is_werktage:
|
||||||
result = np.busday_offset(d.date(), anzahl_int, roll='forward')
|
result = np.busday_offset(d.date(), anzahl_int, roll='forward')
|
||||||
result_dt = datetime.strptime(str(result), '%Y-%m-%d')
|
result_dt = datetime.strptime(str(result), '%Y-%m-%d')
|
||||||
if locale == 'en':
|
return jsonify({'result': result_dt.strftime('%Y-%m-%d')})
|
||||||
plusminus_result = f"Date {d.strftime('%m/%d/%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} workdays: {result_dt.strftime('%m/%d/%Y')}"
|
|
||||||
else:
|
|
||||||
plusminus_result = f"Datum {d.strftime('%d.%m.%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} Werktage: {result_dt.strftime('%d.%m.%Y')}"
|
|
||||||
else:
|
else:
|
||||||
result = d + timedelta(days=anzahl_int)
|
result = d + timedelta(days=anzahl_int)
|
||||||
if locale == 'en':
|
return jsonify({'result': result.strftime('%Y-%m-%d')})
|
||||||
plusminus_result = f"Date {d.strftime('%m/%d/%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} days: {result.strftime('%m/%d/%Y')}"
|
|
||||||
else:
|
|
||||||
plusminus_result = f"Datum {d.strftime('%d.%m.%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} Tage: {result.strftime('%d.%m.%Y')}"
|
|
||||||
elif einheit == 'wochen':
|
elif einheit == 'wochen':
|
||||||
if is_werktage:
|
if is_werktage:
|
||||||
return jsonify({'error': 'Nicht unterstützt: Werktage + Wochen.'}), 400
|
return jsonify({'error': 'Nicht unterstützt: Werktage + Wochen.'}), 400
|
||||||
else:
|
else:
|
||||||
result = d + timedelta(weeks=anzahl_int)
|
result = d + timedelta(weeks=anzahl_int)
|
||||||
if locale == 'en':
|
return jsonify({'result': result.strftime('%Y-%m-%d')})
|
||||||
plusminus_result = f"Date {d.strftime('%m/%d/%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} weeks: {result.strftime('%m/%d/%Y')}"
|
|
||||||
else:
|
|
||||||
plusminus_result = f"Datum {d.strftime('%d.%m.%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} Wochen: {result.strftime('%d.%m.%Y')}"
|
|
||||||
elif einheit == 'monate':
|
elif einheit == 'monate':
|
||||||
if is_werktage:
|
if is_werktage:
|
||||||
return jsonify({'error': 'Nicht unterstützt: Werktage + Monate.'}), 400
|
return jsonify({'error': 'Nicht unterstützt: Werktage + Monate.'}), 400
|
||||||
else:
|
else:
|
||||||
result = d + relativedelta(months=anzahl_int)
|
result = d + relativedelta(months=anzahl_int)
|
||||||
if locale == 'en':
|
return jsonify({'result': result.strftime('%Y-%m-%d')})
|
||||||
plusminus_result = f"Date {d.strftime('%m/%d/%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} months: {result.strftime('%m/%d/%Y')}"
|
|
||||||
else:
|
|
||||||
plusminus_result = f"Datum {d.strftime('%d.%m.%Y')} {'plus' if anzahl_int>=0 else 'minus'} {abs(anzahl_int)} Monate: {result.strftime('%d.%m.%Y')}"
|
|
||||||
else:
|
else:
|
||||||
return jsonify({'error': 'Ungültige Einheit'}), 400
|
return jsonify({'error': 'Ungültige Einheit'}), 400
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@@ -1081,9 +1081,9 @@ footer br + a {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer style="text-align:center; margin-top:2em; color:#475569; font-size:0.98em; padding-bottom:1.5em;">
|
<footer style="text-align:center; margin-top:2em; color:#475569; font-size:0.98em; padding-bottom:1.5em;">
|
||||||
Dies ist ein werbe- und trackingfreier <a href="https://codeberg.org/elpatron/datecalc/src/branch/main/README.md" target="_blank" style="color:#1e40af; text-decoration:underline;">Open Source Datumsrechner</a><br>
|
Dies ist ein werbe- und trackingfreier <a href="https://codeberg.org/elpatron/datecalc/src/branch/main/README.md" target="_blank" style="color:#1e40af; text-decoration:underline;">Open Source</a> Datumsrechner<br>
|
||||||
<a href="/api-docs" target="_blank" style="color:#1e40af; text-decoration:underline;">REST API Dokumentation (Swagger)</a><br>
|
<a href="/api-docs" target="_blank" style="color:#1e40af; text-decoration:underline;">REST API Dokumentation (Swagger)</a><br>
|
||||||
© 2025 <a href="mailto:elpatron@mailbox.org?subject=Datumsrechner" style="color:#1e40af; text-decoration:underline;">M. Busche</a>
|
© 2025 <a href="mailto:elpatron@mailbox.org?subject=Datumsrechner" style="color:#1e40af; text-decoration:underline;">Markus Busche</a>
|
||||||
<div style="margin-top:0.5em; font-size:0.85em; color:#64748b;">v{{ app_version }}</div>
|
<div style="margin-top:0.5em; font-size:0.85em; color:#64748b;">v{{ app_version }}</div>
|
||||||
</footer>
|
</footer>
|
||||||
<script>
|
<script>
|
||||||
|
Reference in New Issue
Block a user