myth2kodi is a modified version of mythicalLibrarian by Adam Outler.
The myth2kodi script automates the mapping of MythTV recordings to a Kodi
library. It is designed to be a user job in MythTV. It can also be run
manually from a command line. It must have access to your MythTV recordings.
The program generates file names compatible with Kodi, then moves or links
recordings based on user settings. Comskip and NFO files are also generated
from your MythTV database, as required, so that Kodi can make use of them.
For usage and command line options see: myth2kodi --help
./install.sh
, for more information see INSTALL.md.myth2kodi --diagnostics
curl -- downloads webpages and sends commands to Kodi;
jq -- parses json files, used for TheTVDB and tvmaze data;
agrep -- provides fuzzy string matching;
libnotify-bin -- allows GNOME desktop notifications;
mythbackend -- Access the MythTV database.
The ./install.sh
script is the easiest and recommended way to install
myth2kodi. If you would prefer to do the installation manually, then,
the myth2kodi file should be placed in the users path, see the binpath
variable in user settings (Default: /usr/local/bin
). Some of the
functionality of this script is provided in other files, these will also
need to be placed in binpath
along with this script. The three supporting
scripts to myth2kodi are:
mythdb_access -- Uses MythTV python bindings to access database information.
m2k_notify -- A script for sending notifications to Gnome Desktop.
bashlogging --
A set of bash functions that provide the logging mechanism used
throughout myth2kodi.
There are a large number of "user-settings" for myth2kodi. For most users
the majority of them should be left with their default values. Placing a
myth2kodi.conf
file in myth2kodi's working directory is the recommended
way to override default settings. In addition to reading CONFIGURE.md,
looking through the configuration template file is a
good way to get to know what options are available. The settings that you
will almost certainly need to modify, as they are specific to your set-up,
are tagged with #<------THIS VALUE MUST BE SET-------
.
myth2kodi can be used as a MythTV user-job or from the command-line.
The MythTV user job should be called as follows:
$binpath/myth2kodi "%DIR%/%FILE%"
where $binpath
is replaced by the full explicit path from USER SETTINGS.
To process a recording at the command line, the script can be called with the
following form:
myth2kodi "Input File" ["show name"] ["episode name"] ["season-number" "episode-number"]
where arguments in the square brackets are optional. For more details and additional functionality see USAGE.md or type:
myth2kodi --help
├── myth2kodi (The main script.)
├── install.sh (The installation script.)
├── mythdb_access (Accesses MythTV-DB using Python bindings.)
├── m2k_notify (Sends desktop notifications.)
├── bashlogging (Provides a configurable logging mechanism.)
├── myth2kodi.conf (A complete configuration template.)
├── showTranslations.SydFTA (An example translation file for Sydney free-to-air guide data.)
├── doc (Documentation.)
├── OVERVIEW.md (An overview of the myth2kodi documentation.)
├── INSTALL.md (A description of how to install myth2kodi.)
├── CONFIGURE.md (An overview of the configuration options.)
├── USAGE.md (A brief guide to using myth2kodi.)
├── key_differences_to_mythicalLibrarian.md (How is myth2kodi different from mythicalLibrarian?)
├── create_a_dummy_system_for_testing.md (Rough guide to building a test system that mirrors your actual system.)
└── example_myth2kodi.conf (A minimal example configuration file.)
├── icons (Icons.)
├── myth2kodi.png (The icon displayed with desktop notifications on successful processing.)
└── myth2kodi_failed.png (The icon displayed with desktop notifications on failed processing.)
├── tools (Simple scripts that do something useful using myth2kodi.)
└── manual_process (Helps manually processing failed episode identification.)
└── attic (Old stuff I just haven't thrown away yet.)