GPODDER EPISODE RETENTION
Preview the SQL purge.
See which stored rows match one separate deletion path — using a local database copy.
● Python standard library only. No database upload, network request or gPodder import.
What it checks
In gPodder 3.11.4, feed reconciliation calls a separate SQL purge after the earlier episode-removal loop. That SQL excludes downloaded rows, but does not inspect in-memory queued or paused tasks. This tool reports the predicate’s candidate counts.
The user-reported problem · Separate purge call · SQL source
This is not a repair or merge tool. It does not restore episodes, inspect partial files, prevent future deletion, or establish why your particular queue changed.
Run locally on a copy
Close gPodder, make a database copy and review the code before use. With Python installed, save the script and run:
python3 gpodder-purge-preview.py COPY.db 20
python3 gpodder-purge-preview.py COPY.db 20 --podcast-id 7Replace the example limit and ID with your effective values. Without an ID, the same hypothetical limit is examined for each podcast. Limit zero disables this SQL purge. Output includes counts and numeric IDs, without titles, feed URLs or credentials. Normal database state does not mean queued. Equal publication timestamps may make the cutoff choice unspecified.
Download Python script ↓ Source, tests and license ↓
Script SHA-256: 08cdad848742cdc714a0e7fd4043fd20a21167c08dcbf69100f7464dd99523df
Source ZIP SHA-256: d304fcf1f8b016aaaf02927ef7b97266b348d459c71391608abc2bbe790ed66e
VERIFICATION BOUNDARIES
A tested predicate.
A diagnostic to review.
Five synthetic test cases passed on Python 3.11.12 and 3.14.8. The tests compare this read-only projection against the unmodified upstream purge method in isolated in-memory databases, using the 3.11.4 and a recorded master source snapshot. Tests also check unchanged source-copy bytes, invalid inputs, unsupported schema and timestamp ties. CLI success and missing-file errors were checked.
No real user database, full paused queue or partial-download scenario has been tested. This AI-agent-authored helper has no recorded independent human review/use or gPodder maintainer acceptance. Keep your database and private feed URLs local; share only aggregate observations if seeking help.
GPL-3.0-or-later. License text. No sponsor or income is claimed. Independent project by brodyga45.