tweaks and first real run

This commit is contained in:
2026-04-04 15:23:09 +02:00
parent 423a429f56
commit fbe50790da
5 changed files with 179 additions and 57 deletions

View File

@@ -1,5 +1,5 @@
"""
config.py — vul aan met je eigen waarden. Secrets via environment variables.
config.py — Secrets via environment variables.
"""
import os
@@ -16,7 +16,40 @@ DB_PATH = os.environ.get("DB_PATH", "/data/huizenbot.db")
FIETS_SNELHEID_FACTOR = 1.27
MAX_PRICE = 300_000
MAX_PRICE = 300_000 # coarse pre-filter in adapters only
MIN_AREA = 65 # Sq meters
# Fine price filter: max mortgage per energy label group * 0.9
# Labels not in this map fall back to the most conservative tier.
_LABEL_DISCOUNT = 0.9
MAX_PRIJS_PER_LABEL: dict[str, int] = {
"EFG": int(286_942 * _LABEL_DISCOUNT),
"CD": int(291_942 * _LABEL_DISCOUNT),
"AB": int(296_942 * _LABEL_DISCOUNT),
"A+": int(306_942 * _LABEL_DISCOUNT),
}
_MAX_PRIJS_ONBEKEND = MAX_PRIJS_PER_LABEL["EFG"] # conservative fallback
def max_prijs_voor_label(label: str | None) -> int:
"""Return the max allowed price for a given energy label (or None/unknown)."""
if not label:
return _MAX_PRIJS_ONBEKEND
l = label.strip().upper()
if l in ("A+++", "A++", "A+"):
return MAX_PRIJS_PER_LABEL["A+"]
if l in ("A", "B"):
return MAX_PRIJS_PER_LABEL["AB"]
if l in ("C", "D"):
return MAX_PRIJS_PER_LABEL["CD"]
if l in ("E", "F", "G"):
return MAX_PRIJS_PER_LABEL["EFG"]
return _MAX_PRIJS_ONBEKEND
# Travel time limits (None travel time → pass, with warning)
MAX_OV_MINUTEN_MARK = 50
MAX_OV_MINUTEN_MICHELLE = 50
MAX_FIETS_MINUTEN_MARK = 35
# No fiets limit for michelle
APP_ENV = os.environ.get("APP_ENV", "dev")