From Kodi
Revision as of 16:20, 1 February 2010 by Outleradam (Talk)

Jump to: navigation, search
diagram of how mythicalLibrarian works
Newest version was released --Outleradam 00:54, 8 January 2010 (UTC)
actual picture from XBMC with recordings from MythTV
actual picture from XBMC with recordings from MythTV

The Missing Symlink

mythicalLibrarian will convert your recordings into a Video Library, free of commercials, automatically after recording. You can see an example to the right.

About The Program

mythicalLibrarian is a highly versitile tool designed to assign season and episode numbers to television shows based on show title and episode title so they are easily recognized by XBMC or Boxee. mythicalLibrarian interfaces with TheTvDb to gain information about the target file. mythicalLibrarian also has the ability to interface with MythTV's local database, XBMC's command interface, and Ubuntu GNOME desktop to provide an all-around recording recognition/managing engine which will run in the background of your back-end computer to update your library and provide status updates upon each completed job.

mythicalLibrarian pulls information supplied by your MythTV program guide for episodes, and makes a fuzzy logic match out of the supplied data. If fuzzy logic is not enough, it will match original air date. For Movies, mythicalLibrarian will rename your MythTV recordings based upon information obtained from the program guide database on your computer. If you allow commercial data to be generated for your shows, mythicalLibrarian will also copy this data with the recordings. mythicalLibrarian allows MythTV to remain in control of the files, so there is no reason not to process your recordings for boxee and XBMC.

MythicalLibrarian was designed to run under Ubuntu Karmic Koala OS through BASH2.

Click this link to see an example database

How it works

mythicalLibrarian will generate several files of it's own while running. It must have it's own working directory. To the right, you can see an example of the layout of /mythicalLibrarian, the files which it creates and their purposes. Here is the basic flow:

  • You put in- ' "episode or movie name" "episode name" "file/to/process.ext"'
  • Episodes- mythicalLibrarian references TheTvDb to gain SeriesID. Get current time from TheTvDb If the database is out-of-date or non existant, it will download the full series and parse it. Then, using fuzzy logic, it makes a match of the series name and gains season and episode information. If this is not possible, it will attempt a match of original airdate from your MythTV program guide database.

mythicalLibrarian will rename your recognizable episodes to: "/Show Name/Show Name.SxxExx (episode title).ext"

  • Movies- mythicalLibrarian references your MythTV program guide database to verify it is a movie and then obtains the year for the movie.

mythicalLibrarian will rename your movies to: "/Movie Name/movie title (Year).ext"

Additional Information

  • Although mythicalLibrarian has no known issues at the present time, mythicalLibrarian is in beta until it goes one month without problem reports. There is a problem in the fuzzy logic "agrep" pacakage. While not fatal, it causes incorrect recognition of episode number in approximately 1 out of 400 episodes. Please report problems here in the XBMC Forum thread:
  • If you would like to see additional features and functions, additional back-ends, or additional guide data, please post in this thread


1 Installation Setup and Use of mythicalLibrarian

This section covers installation, setup, and use of mythicalLibrarian. After completing this section, mythicalLibrarian can run autonomously without user intervention. See Librarian Interfaces for information on notifications and automation tasks.

1.1 Installation

This section covers installation of mythicalLibrarian.

  • Install dependencies
apt-get install curl agrep libnotify-bin

dependencies breakdown:

  1. curl downloads web pages as text.
  2. agrep provides fuzzy logic.
  3. libnotify-bin provides GNOME desktop notifications
  • Download the current version of mythcalLibrarian from this download link
  • Place in /home/mythtv/mythicalLibrarian
mkdir /home/mythtv/mythicalLibrarian
cp /home/yourusername/downloads/ /home/mythtv/mythicalLibrarian
  • Make mythicalLibrarian executable by typing the following:
sudo chmod +x /home/mythtv/mythicalLibrarian

1.2 Setting the Settings

Click this link to see the big picture

This section covers basic setup of mythicalLibrarian. To make mythicalLibrarian work, you will need to set the following settings located in text format within can see a picture of the settings to the right.

  • MoveDir - this is your primary episode move dir.
  • AlternateMoveDir- this is the folder where episodes will be moved if movedir cannot be used
  • FailSafeDir- folder to place links if files cannot be moved
  • PrimaryMovieDir-Folder to place movies
  • AlternateMovieDir- this is where movies will be placed if PrimaryMovieDir fails
  • Database username and password should be mythtv/mythtv. When installing MythTV a root user and password was assigned by the user.

Leave the rest as default

1.3 Use of mythicalLibrarian on MythTV Applications

This section covers setup of MythTV without any changes to mythicalLibrarian settings. This will create only a basic setup. Make sure to follow up by checking the /home/mythtv/mythicalLibrarian/output.log file after the first run.

sudo apt-get install curl agrep libnotify-bin
sudo mkdir /home/mythtv /home/mythtv/mythicalLibrarian /home/mythtv/Episodes /home/mythtv/Movies /home/mythtv/Videos /home/mythtv/FailSafe
sudo chown -R mythtv:mythtv /home/mythtv /home/mythtv/mythicalLibrarian /home/mythtv/Episodes /home/mythtv/Movies /home/mythtv/Videos /home/mythtv/FailSafe
sudo mv ~/Desktop/ /home/mythtv/mythicalLibrarian/
sudo mv ~/Desktop/librarian-notify-send /usr/local/bin/librarian-notify-send
sudo chmod +x /usr/local/bin/librarian-notify-send
sudo chmod +x /home/mythtv/mythicalLibrarian/

See use of mythicalLibrarian on MythTV Applications for setting up mythtv here:

sudo adduser *Your User Name here* mythtv
  • Click System/Administration MythTV Baclend setup
  • Select "1. General" then select next until you get to screen 3
  • Check "Follow symbolic links when deleting files".
  • Select next until you get to screen 8
  • Check "Allow user job #1 Jobs"
  • Select next until you get to screen 10
UserJob #1 Description: mythicalLibrarian
User Job #1 Command: /home/mythtv/mythicalLibrarian/  "%TITLE%" "%SUBTITLE%" "%DIR%/%FILE%"
  • Select Finish to exit
  • Select 6. Storage Directories
  • Select Default
  • Add a recording folder to which MythTV has access ie. /home/mythtv/Videos
  • Add additional folders if required.
  • Remove folders to which MythTV cannot run move jobs such as /lib or /var

1.4 Use of mythicalLibrarian on non-MythTV Applications

This section covers setup of non-MythTV applications. Make sure permissions are set correctly.

  • edit and set Database=Disabled
  • Set mythicalLibrarian up to run the job as follows:
/home/mythtv/mythicalLibrarian/ "Show name" "Show Title" "File to rename"
  • see Setting the Settings in this section

2 Librarian Interfaces

mythicalLibrarian has the capability to send notifications to the Ubuntu GNOME desktop and keep your XBMC library up-to-date and clean. This section covers setup of notifications of the various platforms supported by mythicalLibrarian

2.1 XBMC Commands Another Sucessful library addition

This section covers setup of XBMC Commands. mythicalLibrarain can keep XBMC's library up to date, clean out deleted files and send a notification upon a completed job.

  • edit in your text editor
  • set XBMCUpdate, XBMCClean, and XBMCNotify to the desired settings, either Enabled, or Disabled
  • Set the IP and port under XBMCIPs. Separate IP addresses with a space. eg.
XBMCIPs=( " XBOX:8080" )

2.2 GNOME Desktop Notifications

Another Sucessful library addition
  • mythicalLibrarian requires no-password sudo access to send GNOME notifications.

GNOME Desktop notifications can be turned on and off from within the script

GNOME Desktop notifications are used on the back-end machine by mythicalLibrarian to let you know that a file move operation is in process or an operation has completed. The external script librarian-notify-send becomes the specified username and sends a GNOME desktop notification. librarian-notify-send requires the user mythtv to have access to the sudo command without a password if run as a user job.

  • Get the current version of librarian-notify-send from Google Code download link
  • place the file in /usr/local/bin
  • add mythtvall group
sudo addgroup mythtvall
  • add mythtv to the mythtvall group
sudo adduser mythtv mythtvall
  • edit the sudoers file
sudo visudo
  • add the following line to the sudoers
  • hit ctrl-x and then y, then enter to write out and quit visudo
  • make librarian-notify-send executable by typing
sudo chmod +x /usr/local/bin/librarian-notify-send
  • edit mythicalLibrarian and set Notify=Enabled and NotifyUserName=*your user name*

You are done.

3 Troubleshooting

While mythicalLibrarian is designed to run fully autonomously, configuration issues come up from time to time. This section deals with these set-up issues

3.1 Permission Errors

This section of Troubleshooting is designated for permission errors.

3.1.1 permission errors when run from terminal

Ensure the user running mythicalLibrarian has permission to run mythicalLibrarian. This includes read and write permissions to the working folder (default=~/mythicalLibrarian) see this post for more information:

3.1.2 mythicalLibrarian is not generating a log

Make sure is executable. You can set the permissions by typing "sudo chmod +x /path/to/" note: mythtv will be the user running mythicalLibrarian when run as a user job from MythTV see this post for more information:

3.1.3 Files are not being renamed or moved, but they are owned my mythtv

mythtv must have full access to the files. the /var/ folder does not allow users to move files without special permissions. Try moving your recording directory to your /home/ folder

3.2 XBMC library is not being updated

This section of Troubleshooting is designated for XBMC specific issues

3.2.1 XBMC does not show notifications

mythicalLibrarian requires the user to set the IP address of XBMC.

  • ensure you have a static IP set up in your router, see your router's manufacturer's website for more information
  • Open and edit the "XBMCIPs" setting to your XBMC IP.

3.2.2 XBMC shows notifications but Library is not updated

3.3 OS Speciffic issues

This section of Troubleshooting is designated for OS Specific issues

3.3.1 Gentoo

Gentoo OS requires upgrade of many packages. See here for version information:

3.4 Problems after upgrade to new version

This section of Troubleshooting is designated for issues after upgrade when the previous version was working

3.4.1 Episodes are not identifed

When episodes are not identified after an upgrade it is because the database handling has been upgraded, however, the database itself has not. Delete all database folders to correct the issue

3.4.2 mythicalLibrarian does not generate any files in it's working directory

Ensure the user running mythicalLibrarian has permission to run mythicalLibrarian. This includes read and write permissions to the working folder (default=~/mythicalLibrarian)

3.5 Gnome Desktop Notifications

This section of Troubleshooting is designated for GNOME Desktop Notifications issues

3.5.1 Gnome Desktop Notifications are not showing up

Ensure you have Notify=Enabled set in See this section for more information

3.6 Guide Data errors

for SchedulesDirect/Tribune/Zap2it set the GuideDataType setting in to "SchedulesDirect"

3.6.1 Currently Unsupported Guide data types

Support for guide data will be available with help from you. See this post:

4 Notes

mythicalLibrarian is a spawn from the project BashSExx and MythSExx.

MythSExx can be used if you are strictly trying to rename episodes

mythicalLibrarian is currently in advanced beta stage.

Personal tools

Wiki help