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).
This commit is contained in:
Eddy de Vink 2026-09-08 20:50:52 +02:00
commit d7ba8a06de
5 changed files with 164 additions and 106 deletions

View file

@ -232,3 +232,10 @@ class DBManager:
async def set_send_notice(self, feed_id: int, room_id: RoomID, send_notice: bool) -> None:
q = "UPDATE subscription SET send_notice=$3 WHERE feed_id=$1 AND room_id=$2"
await self.db.execute(q, feed_id, room_id, send_notice)
async def is_whatsapp_posted(self, link: str) -> bool:
row = await self.db.fetchrow("SELECT 1 FROM whatsapp_posted WHERE link = $1", link)
return row is not None
async def mark_whatsapp_posted(self, link: str) -> None:
await self.db.execute("INSERT INTO whatsapp_posted (link) VALUES ($1) ON CONFLICT DO NOTHING", link)