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

@ -105,3 +105,15 @@ async def upgrade_v8(conn: Connection) -> None:
async def upgrade_v9(conn: Connection) -> None:
await conn.execute("ALTER TABLE feed ADD COLUMN etag TEXT DEFAULT ''")
await conn.execute("ALTER TABLE feed ADD COLUMN last_modified TEXT DEFAULT ''")
@upgrade_table.register(description="Add WhatsApp posted-link dedup table")
async def upgrade_v10(conn: Connection, scheme: Scheme) -> None:
default = "now()" if scheme == Scheme.POSTGRES else "CURRENT_TIMESTAMP"
await conn.execute(
f"CREATE TABLE IF NOT EXISTS whatsapp_posted ("
f"link TEXT PRIMARY KEY, "
f"posted_at {'TIMESTAMP WITH TIME ZONE' if scheme == Scheme.POSTGRES else 'TIMESTAMP'} "
f"NOT NULL DEFAULT {default}"
f")"
)