github PiratesIRC/Dispatcharr-EPG-Janitor-Plugin 1.26.2481223
v1.26.2481223

5 hours ago

This release covers everything since 1.26.2281111.

Housekeeping for the CSV exports

A new setting, Delete CSV Exports Older Than (Days). After each export, this
plugin's own exports in /data/exports/ older than that many days are deleted.
It is off by default at 0, so nothing is removed unless you ask for it.

That directory is shared with other Dispatcharr plugins, so only files named
epg_janitor_*.csv are ever considered. The file a run has just written is never
deleted, at least one file always survives, and a failure to tidy up never turns
a successful export into a reported error. The Clear Exports button is unchanged
and still deletes every export regardless of age.

The settings form now has sections

The twelve channel-database toggles used to be rendered above every heading, so
the form opened with twelve unlabelled country checkboxes and the Quick Start
panel sat below them. They now sit under a heading of their own, and every
section body says what the section governs plus one thing the field labels do
not. No setting changed its stored id, so your saved values are unaffected.

The five watchdog settings lost the redundant Watchdog: prefix from their
labels.

Button colour now tells you the consequence

  • red can remove a guide assignment you rely on, and always asks for
    confirmation
  • orange writes data or clears state, but removes no assignment
  • green runs an operation that writes no channel data
  • blue reads and reports, changing nothing

Three buttons were previously wrong about this. Apply Auto-Match was green
although it overwrites an existing assignment above the confidence threshold.
Clear Exports was red although it deletes only export files. Suffix Bad
EPG
was orange although it removes the EPG assignment from every channel it
renames when Also Remove EPG When Adding Suffix is on; it is now red and its
confirmation prompt says so. Every action was checked against what its handler
actually writes.

Every CSV export now says what it is and what the run did

Two of the four exports had no commented preamble at all. Each one now names the
report, tells you the commented lines describe the run rather than being data,
states the counts the run produced before listing the settings it used, and
records which channel databases were enabled.

Settings read as Yes and No rather than as Python True and the string true. A
setting left at its default reports the value the run actually used instead of
(not set). The confidence thresholds say what the number means. Every setting is
named exactly as the form names it, and the custom channel alias table is
reported, because one alias can by itself explain a surprising row. The whole
preamble is plain ASCII, because a spreadsheet opening a CSV under a different
codepage turns anything else into unreadable characters.

Three lines in it were wrong and are corrected. The Scan and Heal report counted
every replacement candidate under a heading saying how many were written,
including ones below the confidence threshold that it deliberately does not
write. The Auto-Match report claimed assignments had been written in a file that
is produced before they are applied. The line naming which channel databases were
enabled could name a database the run never loaded.

A setting typed one entry per line no longer breaks the export: such a value was
written into the preamble unchanged, so its continuation lines carried no comment
marker and a spreadsheet read them as data.

Smaller things

  • An export retention value that cannot be read as a whole number is now logged,
    rather than being indistinguishable from a deliberate 0.
  • The Clear Exports button and the age-based cleanup now share one definition of
    which files belong to this plugin.
  • The user guide named five watchdog settings and one button under names that do
    not exist, and quoted a log line the plugin does not emit. All corrected.
  • The plugin now keeps a private count of the guide assignments it writes, in
    /data/epg_janitor_match_counts.jsonl. It holds a timestamp, one fixed action
    name and a whole number, and nothing that identifies a channel. It feeds the
    EPGs Matched badge on the project page.

Install

Download EPG-Janitor.zip below, or install from the Dispatcharr Plugin Hub.

Don't miss a new Dispatcharr-EPG-Janitor-Plugin release

NewReleases is sending notifications on new releases.