Commit graph buzz-rss/buzzrss/db.py
Author SHA1 Message Date
Eddy de Vink
59f927b038 v1.9.0: filter-recall (meervoud/vervoeging, ProRail/intercity/veerdienst/buurtbus) + vijf fixes (ETag na parse, WhatsApp-check, paywall JSON, start-guard, dedup op posted_at) 2026-09-10 19:04:05 +02:00
Eddy de Vink
6264e73441 v1.8.0: titel-dedup over feeds (zelfde artikel, andere url) 2026-09-09 23:39:15 +02:00
Eddy de Vink
d7ba8a06de v1.7.0: gewogen OV-families-filter vervangt match_filter-regex
Filter is nu vast in code (MATCH_FILTER_FAMILIES + MATCH_FILTER_THRESHOLD):
doorlaten als 2x(titelfamiliescore) + 1x(samenvattingscore) >= 3.
Sterk(3): vervoerders, spoorinfra, station, voertuig-samenstellingen, trein.
Medium(2): tram, metro, dienst, vervoersbewijs/staking/pont.
Zwak(1): losse bus/kaartje/rails - moet combineren met ander OV-woord.
Weert 'VW-bus'/'schoolbus', woningbrand-leads met 'bussen rijden om' en
figuratief 'op de rails', zonder bushalte/overweg/NS/trein-berichten te raken.
Gewogen per familie ipv per cluster dicht ook het 'bus x3 in lead'-gat.
!rss set-filter en !rss filter zijn read-only geworden (tonen het vaste filter);
config-keys match_filter/allow_filter verwijderd uit do_update.
V1.7.0 gedeployed op nextcloud (instance rss, enabled+started, run-log actief).
2026-09-08 20:50:52 +02:00
Eddy de Vink
a03f76ca83 v1.5.0: entry-dedup in één query + conditional get (ETag/Last-Modified)
- filter_entries: één SELECT per feed i.p.v. per-entry EXISTS (1082 queries → 20)
- feed.etag/last_modified (migratie v9); parse_feed stuurt If-None-Match/If-Modified-Since, 304 → None
- _poll_once telt unchanged (304-feeds); summary-regel uitgebreid met unchanged
- _poll_feeds re-raised CancelledError (reload-stapeling duplicaten) + handler-cleanup
2026-09-06 00:11:22 +02:00
eddy
5d75f490fc v1.3.0: paywall-filter (Telegraaf/NHD premium) + staking-fix
- exclude_paywalled config (default true): verwijdert feedparser-entries met
  <premium>true</premium> vóór opslag (Telegraaf en NHD markeren dit; AD/
  Parool/Trouw/VK/NRC niet)
- v8-migratie: entry.paywalled BOOLEAN
- staking-fix (v1.2.3): losse 'staking/stakingen' uit filter; alleen ov-
  specifiek: ov-staking, bus/tram/metro/spoor/conducteurs-staking,
  'openbaar vervoer'
- config-proof: match_filter altijd enkelregelig YAML
2026-09-05 20:18:13 +02:00
eddy
676f999cce v1.1.0: enkel globaal filter (config) in plaats van per-subscription
- match_filter is nu instance-config (geldt voor ALLE feeds), niet per
  subscription: !rss set-filter <regex> zet het globale filter en slaat
  config op; !rss subscriptions toont het globale filter
- v7-migratie: per-subscription kolom match_filter verwijderd
- filter scant titel + HTML-ontdaan summary
2026-09-05 17:19:10 +02:00
eddy
0628776469 Fork xyz.maubot.rss v0.4.1: whitelist match-filter op titel+summary
- plugin id nl.eddydevink.rss, module buzzrss (uniek, voorkomt botsing met
  xyz.maubot.rss die dezelfde 'rss'-module importeert)
- match_filter (v6-migratie, hernoemd van title_exclude_filter): post wordt
  alleen verstuurd als de regex matcht op titel OF (HTML-ontdaan) summary
- config-default whitelist voor ov-only: gvb/ebs/connexxion/transdev/keolis/
  ret/gvu/bus/metro/tram/trein(verwanten)/ov/ov-staking/staking
- set-filter: lege filter valt terug op config-default
2026-09-05 17:13:39 +02:00