fix: Detail-Tabelle zeigt nur letzte 3h Preise (mit Screenshots)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
a03a58d01e
commit
37c8c38876
1 changed files with 28 additions and 5 deletions
|
|
@ -390,10 +390,25 @@ def api_ki_latest():
|
|||
|
||||
@app.route("/api/preise/heute")
|
||||
def api_preise_heute():
|
||||
"""
|
||||
Liefert Preise aus dem letzten Scan-Lauf (letzten 3 Stunden).
|
||||
Damit haben alle Einträge einen Screenshot und sind aktuell.
|
||||
Fallback auf den ganzen heutigen Tag wenn keine neueren Daten vorhanden.
|
||||
"""
|
||||
conn = get_conn()
|
||||
rows = conn.execute(
|
||||
"SELECT * FROM prices WHERE date(scraped_at)=date('now') ORDER BY preis ASC LIMIT 50"
|
||||
).fetchall()
|
||||
# Erst: Preise aus den letzten 3 Stunden (neuester Lauf = mit Screenshots)
|
||||
rows = conn.execute("""
|
||||
SELECT * FROM prices
|
||||
WHERE scraped_at >= datetime('now', '-3 hours')
|
||||
ORDER BY preis ASC LIMIT 100
|
||||
""").fetchall()
|
||||
# Fallback: ganzer Tag (z.B. wenn lange kein Lauf war)
|
||||
if not rows:
|
||||
rows = conn.execute("""
|
||||
SELECT * FROM prices
|
||||
WHERE date(scraped_at) = date('now')
|
||||
ORDER BY preis ASC LIMIT 100
|
||||
""").fetchall()
|
||||
conn.close()
|
||||
return jsonify([dict(r) for r in rows])
|
||||
|
||||
|
|
@ -403,14 +418,22 @@ def api_preise_vergleich():
|
|||
"""Pro Scanner: günstigster Preis je Node + Delta zum Vortag."""
|
||||
conn = get_conn()
|
||||
|
||||
# Heute: günstigster Preis pro Scanner+Node
|
||||
# Heute: günstigster Preis pro Scanner+Node — aus letzten 3h (mit Screenshot)
|
||||
heute = conn.execute("""
|
||||
SELECT scanner, node, MIN(preis) as preis, booking_url, abflug, ankunft
|
||||
FROM prices
|
||||
WHERE date(scraped_at) = date('now')
|
||||
WHERE scraped_at >= datetime('now', '-3 hours')
|
||||
GROUP BY scanner, node
|
||||
ORDER BY scanner, preis
|
||||
""").fetchall()
|
||||
if not heute:
|
||||
heute = conn.execute("""
|
||||
SELECT scanner, node, MIN(preis) as preis, booking_url, abflug, ankunft
|
||||
FROM prices
|
||||
WHERE date(scraped_at) = date('now')
|
||||
GROUP BY scanner, node
|
||||
ORDER BY scanner, preis
|
||||
""").fetchall()
|
||||
|
||||
# Gestern: günstigster Preis pro Scanner+Node
|
||||
gestern = conn.execute("""
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue