Tmdb.pl

From MythTV Official Wiki
Jump to: navigation, search

Time.png Outdated: This script has been replaced by tmdb.py in 0.23 and later.

Important.png Note: The correct title of this article is tmdb.pl. It appears incorrectly here due to technical restrictions.

Warning: This howto is for users running 0.21 only. 0.22 already contains tmdb.pl. Running these commands on trunk will break metadata grabbing in MythVideo.

tmdb.pl is a perl script intended to perform movie data lookups based on the themoviedb.org database. It will replace the imdb.pl script used by older versions of MythTV, as the imdb.pl script is now in violation of the IMDb Terms of Use.

The best part about using themoviedb.org data is that it is designed for applications such as MythTV, so it provides a lot of information that IMDb does not provide--such as multiple high-quality movie posters per movie, fan art, banners, and more. And, the data at themoviedb.org is freely editable by users and is available for use under open licensing terms.

Downloading tmdb.pl

If you're using MythTV 0.21-fixes (or below), tmdb.pl does not ship with MythTV, so you will need to download the script (as a non-root user in a normal directory, such as the user's HOME directory). If you have the Subversion (SVN) client installed on your system (svn --version should provide useful version output, rather than bash: svn: command not found), download the script by copying/pasting the following commands directly into a terminal window:

install -d tmdb/MythTV &&
pushd tmdb &&
svn cat http://svn.mythtv.org/svn/branches/release-0-22-fixes/mythplugins/mythvideo/mythvideo/scripts/tmdb.pl > tmdb.pl &&
echo "Successfully downloaded tmdb.pl." &&
svn cat http://svn.mythtv.org/svn/branches/release-0-22-fixes/mythplugins/mythvideo/mythvideo/scripts/MythTV/MythVideoCommon.pm > MythTV/MythVideoCommon.pm &&
echo "Successfully downloaded MythVideoCommon.pm." &&
chmod 755 ./tmdb.pl ./MythTV/MythVideoCommon.pm &&
popd

If you do not have the Subversion client installed, use the following commands:

install -d tmdb/MythTV &&
pushd tmdb &&
wget -O tmdb.pl \
  'http://svn.mythtv.org/trac/browser/branches/release-0-22-fixes/mythplugins/mythvideo/mythvideo/scripts/tmdb.pl?format=txt' &&
echo "Successfully downloaded tmdb.pl." &&
wget -O MythTV/MythVideoCommon.pm \
  'http://svn.mythtv.org/trac/browser/branches/release-0-22-fixes/mythplugins/mythvideo/mythvideo/scripts/MythTV/MythVideoCommon.pm?format=txt' &&
echo "Successfully downloaded MythVideoCommon.pm." &&
chmod 755 ./tmdb.pl ./MythTV/MythVideoCommon.pm &&
popd

Installing tmdb.pl

The MythVideo scripts are typically installed in /usr/share/mythtv/mythvideo/scripts/ or /usr/local/share/mythtv/scripts/. The following code assumes they are installed in one of those two directories. If not, adjust the SCRIPTDIR as appropriate (and skip the if conditional that tries to set it automatically). If your distribution does not use the sudo command to execute scripts as root, ensure you're using the root account, and do not copy the first line ("SUDO=sudo &&").

To use the code below, copy/paste the following commands directly into the same terminal window you used for downloading the script, above. Before executing the commands, ensure you're in the directory you were in when you downloaded the script.

SUDO=sudo &&
if [ -d /usr/share/mythtv/mythvideo/scripts ]; then
  SCRIPTDIR=/usr/share/mythtv/mythvideo/scripts
elif [ -d /usr/local/share/mythtv/mythvideo/scripts ]; then
  SCRIPTDIR=/usr/local/share/mythtv/mythvideo/scripts
else
  echo "Unable to find script directory.  Please install tmdb.pl manually."
fi
if [ -d tmdb ]; then
  $SUDO cp -Rv tmdb/* ${SCRIPTDIR} &&
  $SUDO chmod a+x ${SCRIPTDIR}/tmdb.pl &&
  if [ -e ${SCRIPTDIR}/tmdb.pl ]; then
    echo "Successfully installed tmdb.pl script to:"
    echo "  ${SCRIPTDIR}"
    if [ -f ${SCRIPTDIR}/imdb.pl -a ! -h ${SCRIPTDIR}/imdb.pl ]; then
      $SUDO mv ${SCRIPTDIR}/imdb.pl{,-orig}
    fi
    $SUDO ln -sf tmdb.pl ${SCRIPTDIR}/imdb.pl &&
    if [ -L ${SCRIPTDIR}/imdb.pl ]; then
      echo "Successfully configured MythVideo and MythWeb to use tmdb.pl."
    else
      echo "Unable to configure MythVideo and MythWeb to use tmdb.pl."
      echo "Please create a symlink called imdb.pl that refers to tmdb.pl in"
      echo "  ${SCRIPTDIR}"
    fi
  else
    echo "Unable to install tmdb.pl script.  Please install tmdb.pl manually."
  fi
else
  echo "Please execute these commands from the directory you were in when"
  echo "you downloaded the tmdb.pl script."
fi
unset SCRIPTDIR

If you have additional MythTV client systems (multiple frontend systems or MythWeb hosts), you may simply copy the tmdb directory to the other systems and skip the download commands--simply run the install commands.

When you're done with the temporary copy made when downloading the scripts, you may delete the tmdb directory:

rm -r tmdb