Per user request, the LLM is no longer asked to extract rooms/size/rent/WBS — those come from the inberlinwohnen.de scraper which is reliable. Haiku is now used for one narrow job: pick which <img> URLs from the listing page are actual flat photos (vs. logos, badges, ads, employee portraits). On any LLM failure the unfiltered candidate list passes through. Image dedup runs in two tiers: 1. SHA256 of bytes — drops different URLs that point to byte-identical files 2. Perceptual hash (Pillow + imagehash, Hamming distance ≤ 5) — drops the "same image at a different resolution" duplicates from srcset / CDN variants that were filling galleries with 2–4× copies UI: - Wohnungsliste falls back to scraper-only display (rooms/size/rent/wbs) - Detail panel only shows images + "Zur Original-Anzeige →"; description / features / pros & cons / kv table are gone - Per-row "erneut versuchen" link + the "analysiert…/?" status chips were tied to LLM extraction and are removed; the header "Bilder nachladen (N)" button still surfaces pending/failed batches for admins Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
1.1 KiB
HTML
27 lines
1.1 KiB
HTML
{# Expanded detail for a single flat — only shows downloaded images. #}
|
|
{% if enrichment_status == 'pending' %}
|
|
<div class="px-4 py-5 text-sm text-slate-500">Bilder werden abgerufen…</div>
|
|
{% elif enrichment_status == 'failed' %}
|
|
<div class="px-4 py-5 text-sm text-slate-500">
|
|
Bilder konnten nicht geladen werden.
|
|
<a href="{{ flat.link }}" target="_blank" rel="noopener" class="ml-1">Zur Original-Anzeige →</a>
|
|
</div>
|
|
{% elif image_urls %}
|
|
<div class="px-4 py-4 space-y-3">
|
|
<div class="flat-gallery">
|
|
{% for src in image_urls %}
|
|
<a class="flat-gallery-tile" href="{{ src }}" target="_blank" rel="noopener">
|
|
<img src="{{ src }}" loading="lazy" alt="Foto {{ loop.index }}">
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
<div class="text-xs">
|
|
<a href="{{ flat.link }}" target="_blank" rel="noopener">Zur Original-Anzeige →</a>
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
<div class="px-4 py-5 text-sm text-slate-500">
|
|
Keine Bilder gefunden.
|
|
<a href="{{ flat.link }}" target="_blank" rel="noopener" class="ml-1">Zur Original-Anzeige →</a>
|
|
</div>
|
|
{% endif %}
|