Commit graph

4 commits

Author SHA1 Message Date
7fef359ae0 feat: store VPC raw scrape data and add reset button
Species.vpc_raw (JSONField) stores the full scrape payload at import time.
vpc_species_reset view restores bloom_months, sunlight, max_height_cm etc.
from that snapshot. If vpc_raw is missing (species imported before this
feature), it re-scrapes from VPC on demand and saves the result.
Reset button appears on plant detail page for any plant with a VPC species.
A 'next' hidden field returns the user to the same plant after reset.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:49:15 +02:00
a57415983b feat: VPC species search alongside Perenual
- New plants/services/vpc.py: search VPC (vasteplantencatalogus.nl) by
  keyword and scrape full plant detail on select
- Both searches run in parallel via ThreadPoolExecutor
- species_results partial shows results from both sources with colour-coded
  source badges (green = Perenual, blue = VPC)
- vpc_select view scrapes the detail page on select, creates Species with
  bloom_months, max_height_cm, sunlight from the VPC page
- Species.vpc_slug field (migration 0005) prevents re-importing the same plant
- beautifulsoup4 added to requirements
- Handles VPC unavailability gracefully (empty results, no error shown to user)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:44:06 +02:00
40e3419160 fix: surface Perenual API errors instead of silently returning no results
Timeout and rate-limit failures now show a warning message to the user.
Timeout increased to 10s.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:37:30 +02:00
88976bb351 feat: species search with HTMX and Perenual caching on select
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:04:02 +02:00