Add fuel-type grouping, fuzzy new-price lookup, and EV filtering #2

Merged
maks merged 5 commits from feat/fuel-type-grouping-and-fuzzy-pricing into master 2026-04-02 14:46:08 +02:00
Owner

Also includes tests, pre-commit hooks, CI, and pylint 10/10 refactor
from prior work on feat/tests-linting-ci.

Feature changes:

  • Group and display listings by fuel type in summary table
  • Add Ford Tourneo Connect monitor to config
  • Add fuzzy config price lookup (nearest kW match) as fallback when no
    exact new-price config entry exists; depreciation silently skipped when
    no price source is found at all
  • Use effective age (not calendar age) for depreciation-per-year calc
  • Add exclude_fuel_types config option; filter EVs from both tabs
  • Add English translations to Slovenian equipment keyword comments
  • Consolidate _merge_listing into scraper module (single definition)
  • Fold space→underscore normalization into _normalize_key; extract
    _excluded_fuel_types() helper to remove duplication

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Also includes tests, pre-commit hooks, CI, and pylint 10/10 refactor from prior work on feat/tests-linting-ci. Feature changes: - Group and display listings by fuel type in summary table - Add Ford Tourneo Connect monitor to config - Add fuzzy config price lookup (nearest kW match) as fallback when no exact new-price config entry exists; depreciation silently skipped when no price source is found at all - Use effective age (not calendar age) for depreciation-per-year calc - Add exclude_fuel_types config option; filter EVs from both tabs - Add English translations to Slovenian equipment keyword comments - Consolidate _merge_listing into scraper module (single definition) - Fold space→underscore normalization into _normalize_key; extract _excluded_fuel_types() helper to remove duplication Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add fuel-type grouping, fuzzy new-price lookup, and EV filtering
All checks were successful
CI / Format Check (pull_request) Successful in 10s
CI / Lint (pull_request) Successful in 52s
CI / Tests (pull_request) Successful in 9s
3955ea8697
Also includes tests, pre-commit hooks, CI, and pylint 10/10 refactor
from prior work on feat/tests-linting-ci.

Feature changes:
- Group and display listings by fuel type in summary table
- Add Ford Tourneo Connect monitor to config
- Add fuzzy config price lookup (nearest kW match) as fallback when no
  exact new-price config entry exists; depreciation silently skipped when
  no price source is found at all
- Use effective age (not calendar age) for depreciation-per-year calc
- Add exclude_fuel_types config option; filter EVs from both tabs
- Add English translations to Slovenian equipment keyword comments
- Consolidate _merge_listing into scraper module (single definition)
- Fold space→underscore normalization into _normalize_key; extract
  _excluded_fuel_types() helper to remove duplication

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add filter modal, auto-start FlareSolverr, and fix used-car stats
Some checks failed
CI / Format Check (pull_request) Successful in 3s
CI / Lint (pull_request) Successful in 20s
CI / Tests (pull_request) Failing after 6s
5479347c4a
- TUI: add FilterModal (f key) with year/price/mileage ranges, active-only
  and bangers-only checkboxes; applies to both listings and summary tabs
- TUI: truncate location column to 12 chars for compact display
- Startup: auto-detect and start FlareSolverr Docker container if stopped
- Scraper: fail fast with clear error when FlareSolverr is unreachable
- DB: exclude new-car inventory from used-car price/year/km aggregations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
maks force-pushed feat/fuel-type-grouping-and-fuzzy-pricing from 5479347c4a
Some checks failed
CI / Format Check (pull_request) Successful in 3s
CI / Lint (pull_request) Successful in 20s
CI / Tests (pull_request) Failing after 6s
to ccac096847
Some checks failed
CI / Format Check (pull_request) Successful in 4s
CI / Lint (pull_request) Successful in 20s
CI / Tests (pull_request) Failing after 7s
2026-04-02 14:35:04 +02:00
Compare
Fix test to expect RuntimeError when FlareSolverr is unreachable
Some checks failed
CI / Format Check (pull_request) Failing after 8s
CI / Lint (pull_request) Successful in 20s
CI / Tests (pull_request) Successful in 15s
a3574f91f7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Format test_scraper.py with black
All checks were successful
CI / Format Check (pull_request) Successful in 8s
CI / Lint (pull_request) Successful in 19s
CI / Tests (pull_request) Successful in 6s
30bdb145f7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
maks merged commit 8e043393c0 into master 2026-04-02 14:46:08 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
maks/avtonet-monitor!2
No description provided.