The Missing Symlink
mythicalLibrarian will convert your recordings into a Video Library. 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 and, 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.
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:
- 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"
- Although mythicalLibrarian has no known issues at the present time, mythicalLibrarian is in beta until it goes one month without problem reports. Please report problems here in the XBMC Forum thread: http://forum.xbmc.org/showthread.php?p=470402#post470402
- If you would like to see additional features and functions, please post in this thread http://forum.xbmc.org/showthread.php?t=65769
1 Installation of mythicalLibrarian
- Get the current version of mythcalLibrarian from Google Code: download link
- Place mythicalLibrarian.sh in /home/mythtv/mythicalLibrarian
mkdir /home/mythtv/mythicalLibrarian cp /home/yourusername/downloads/mythicallibrarian.sh /home/mythtv/mythicalLibrarian
- Make mythicalLibrarian executable by typing the following:
sudo chmod +x /home/mythtv/mythicalLibrarian
- Install dependencies
apt-get install curl agrep libnotify-bin
1.1 Setting the Settings
To make mythicalLibrarian work, you will need to set the following settings located in text format within mythicalLibrarian.sh.You 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 or root by default, but can be tested by opening a terminal and typing
mysql -u*username* -p*password* #replace *username* and *password* with your mysql username and password
Leave the rest as default
1.2 Use of mythicalLibrarian on MythTV Applications
- 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: MythSExx User Job #1 Command: /home/mythtv/MythSExx/MythSExx.sh "%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.3 Use of mythicalLibrarian on non-MythTV Applications
- edit mythicalLibrarian.sh and set Database=Disabled
- Set mythicalLibrarian up to run the job as follows:
/home/mythtv/mythicalLibrarian/mythicalLibrarian.sh "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.
2.1 XBMC Commands
mythicalLibrarain can keep XBMC's library up to date, clean out deleted files and send a notification upon a completed job.
- edit mythicalLibrarian.sh in your text editor
- set XBMCUpdate, XBMCClean, and XBMCNotify to the desired settings, either Enabled, or Disabled
- Set the IP and port under XBMCIP eg.
2.2 GNOME Desktop Notifications
- mythicalLibrarian requires no-password sudo access to send GNOME notifications. This can be a security risk.
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
- add the following line to the sudoers
%mythtvall ALL=(ALL) NOPASSWD:ALL
- 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.
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.