Skip to content

Repository files navigation

Dispatcharr EPG Janitor Plugin

Keep your Electronic Program Guide clean, accurate, and complete

Tip

New to Dispatcharr plugins? Start with the Dispatcharr Plugin Workflow guide. It explains what each plugin and tool does, where they overlap, and what order to use them in.

Dispatcharr plugin Ask DeepWiki Workflow Guide Discord Sponsor

EPGs Matched

Guide assignments this plugin has written on the author's own installation: one per channel per applied run, counted from what Dispatcharr confirmed, so previews add nothing and a channel reassigned later counts again. The opening figure was reconstructed from past exports and is an estimate; everything after it is measured.

GitHub Release Downloads

Top Language Repo Size Last Commit License

Warning: back up your database

Before installing or using this plugin, it is highly recommended that you create a backup of your Dispatcharr database. This plugin modifies EPG assignments on channels and can rename channels.

Click here for instructions on how to back up your database.

What it does

Dispatcharr can assign a programme guide to a channel, but nothing checks whether that assignment actually works. EPG Janitor finds the channels where it does not, and fixes them.

Assign a guide to channels that have none. Auto-match scores every channel against every eligible EPG entry using two independent methods and takes the better result: weighted structural signals over US callsign, state, city and network, and a fuzzy name pipeline running alias lookup, then exact, then substring, then token-sort comparison. Every run has a preview that writes a CSV and changes nothing.

Repair guides that are assigned but empty. Scan & Heal finds channels whose EPG assignment carries no actual programme data, searches for a working replacement among the sources you allow, and only commits one that has real programme data in the window you set.

Recognise US over-the-air stations properly. Callsigns are matched in parentheses (ABC (WABC)), at the end of a name (WABC-DT), and in the leading CALLSIGN (NETWORK) form used by feeds such as jesmann-US. A shared high-confidence callsign anchors the match and a disagreement rejects it. Every callsign the FCC licenses is shipped with the plugin, so a real station is recognised even when it is absent from the channel databases, while callsign-shaped English words such as KILN and WHIP are not mistaken for stations.

Avoid the mistakes that look like successes. Numbered and time-shifted siblings do not cross-match, so Fox Sports 1 does not take Fox Sports 2's guide and ITV2 does not take ITV2 +1's. Regional variants route to the correct regional feed. Number words fold to digits, CamelCase splits, and dotted compounds split, while radio frequencies are left alone.

Clean up in bulk. Remove EPG assignments by regular expression, from hidden channels, or from whole groups. Tag channels with missing programme data with a visible suffix. Export any run to CSV with the score, the method and the reasoning for every row.

Know what a run did, and what it was told to do. Every CSV export opens with a commented preamble naming the report, stating the counts the run produced, and listing the settings it used under the names the form gives them. Button colour tells you the consequence before you press anything: red can remove a guide assignment and always confirms first, orange writes data but removes no assignment, green runs an operation that writes no channel data, and blue only reads. Exports can be cleaned up by age, which is off unless you set a number of days, and never touches another plugin's files.

Watch for guides going stale, if you want it. An optional freshness watchdog checks every EPG source on a schedule and refreshes any that has errored or is running out of guide data. It is off by default and writes system events only.

Everything runs inside Dispatcharr against its database directly, so there are no API credentials to configure. There are no required dependencies.

Documentation

Read the warning about East to Pacific reassignment before your first bulk apply on cable or premium channels. A channel whose name carries no regional marker can be moved from an East feed to a Pacific one, shifting its whole guide by two to three hours.

Requirements

  • Dispatcharr v0.20.0 or newer
  • Python 3.13+ (bundled with Dispatcharr)
  • No required dependencies, standard library only. Optionally uses rapidfuzz for faster matching if it happens to be installed in the environment; if absent, a corrected pure-Python scorer computes the identical score

Installation

  1. Download the latest EPG-Janitor.zip from the Releases page.
  2. Log in to Dispatcharr's web UI.
  3. Navigate to Plugins then Import Plugin and upload the zip.
  4. Enable the plugin after installation.

Updating

  1. Remove the old plugin. Navigate to Plugins, click the trash icon next to EPG Janitor, confirm.
  2. Restart Dispatcharr. Log out, then docker restart dispatcharr (or equivalent).
  3. Install the new version. Log back in, import the new zip, enable.
  4. Your settings are preserved. Dispatcharr stores plugin settings in its database separately from plugin code. Updates do not clear your configuration.

Official Plugin Hub

EPG Janitor is published in the Dispatcharr Plugins official repository, so you can install and update it directly from Dispatcharr's Plugin Hub without downloading the zip manually.

Credits

  • Fuzzy matching pipeline ported from the Lineuparr plugin
  • Weighted structural scoring over callsign, state, city and network is EPG Janitor original
  • Alias table seeded from Lineuparr's community-curated channel aliases
  • Station callsign data derived from the FCC Licensing and Management System public database

Sponsor

This plugin is free and always will be. If it saves you time and you would like to support the work, you can sponsor it at github.com/sponsors/PiratesIRC.

Sponsoring buys no priority, no private support and no influence over what gets built. Bug reports and pull requests are just as welcome from everyone.

Contributing

See CONTRIBUTING.md.

License

MIT. See LICENSE.


All product names, trademarks, and registered trademarks mentioned in this project are the property of their respective owners. Channel alias data is community-compiled from publicly available information and is not affiliated with or endorsed by any broadcaster.

About

A Dispatcharr plugin that scans channels with EPG assignments but missing program data. Identifies channels showing "No Program Information Available" in your TV guide. Features group filtering, CSV exports, and detailed analytics.

Resources

Contributing

Stars

23 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages