fix: Preise aus letztem Scan-Lauf (MAX-20min Fenster) statt 3h
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
37c8c38876
commit
3e6c1011dd
1 changed files with 12 additions and 5 deletions
|
|
@ -396,13 +396,17 @@ def api_preise_heute():
|
|||
Fallback auf den ganzen heutigen Tag wenn keine neueren Daten vorhanden.
|
||||
"""
|
||||
conn = get_conn()
|
||||
# Erst: Preise aus den letzten 3 Stunden (neuester Lauf = mit Screenshots)
|
||||
# Neuester Scan-Lauf: ab MAX(scraped_at) - 20 Minuten
|
||||
# Damit werden immer die Preise des letzten Laufs gezeigt — alle mit Screenshot
|
||||
rows = conn.execute("""
|
||||
SELECT * FROM prices
|
||||
WHERE scraped_at >= datetime('now', '-3 hours')
|
||||
WHERE scraped_at >= datetime(
|
||||
(SELECT MAX(scraped_at) FROM prices WHERE date(scraped_at) = date('now')),
|
||||
'-20 minutes'
|
||||
)
|
||||
ORDER BY preis ASC LIMIT 100
|
||||
""").fetchall()
|
||||
# Fallback: ganzer Tag (z.B. wenn lange kein Lauf war)
|
||||
# Fallback: ganzer Tag (z.B. erster Lauf des Tages noch nicht abgeschlossen)
|
||||
if not rows:
|
||||
rows = conn.execute("""
|
||||
SELECT * FROM prices
|
||||
|
|
@ -418,11 +422,14 @@ def api_preise_vergleich():
|
|||
"""Pro Scanner: günstigster Preis je Node + Delta zum Vortag."""
|
||||
conn = get_conn()
|
||||
|
||||
# Heute: günstigster Preis pro Scanner+Node — aus letzten 3h (mit Screenshot)
|
||||
# Heute: günstigster Preis pro Scanner+Node — aus letztem Scan-Lauf
|
||||
heute = conn.execute("""
|
||||
SELECT scanner, node, MIN(preis) as preis, booking_url, abflug, ankunft
|
||||
FROM prices
|
||||
WHERE scraped_at >= datetime('now', '-3 hours')
|
||||
WHERE scraped_at >= datetime(
|
||||
(SELECT MAX(scraped_at) FROM prices WHERE date(scraped_at) = date('now')),
|
||||
'-20 minutes'
|
||||
)
|
||||
GROUP BY scanner, node
|
||||
ORDER BY scanner, preis
|
||||
""").fetchall()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue