Mythrename.pl
From MythTV
mythrename.pl is perl script written by Chris Peterson that renames mythtv recordings to more human-readable filenames. This allows you to archive them away and know what they are by reading the filename. Database settings are automatically detected from mysql.txt, and the mythtv recording directory is loaded from the database. It can optionally create symlinks instead of renaming the files.
For more info, see the output of mythrename.pl --help (the output of which is below)
Location: /usr/share/doc/mythtv-0.20/contrib (insert actual mythtv version as appropriate).
Basic Usage
Be very careful running mythrename.pl without any options as it may introduce non-ASCII characters or create very long filenames that could become a problem. Make sure to use the --link option if you are not sure what the results of a name change would be.
To reset the names use this command (not guaranteed to be totally effective):
$ mythrename.pl --verbose --format "%c_%Y%m%d%H%i%s"
Perl prerequisites
Some users have been unable to use mythrename.pl without installing additional modules. The primary issue is Net::UPnP::ControlPoint? is not installed or an error that says something to that effect. Once Net::UPnP::ControlPoint is installed the error doesn't go away, as one must also install Net::UPnP::QueryResponse, as it is a prerequisite for UPnP::ControlPoint.
In gentoo and other linux distros you can install these by running "cpan" at a terminal, most likely as root. Answer the prompts that follow, then type "install Perl Net::UPnP::ControlPoint" at the cpan prompt and ALSO type "cpan> install Net::UPnP::QueryResponse", then run mythrename.pl either as a user with proper user:group permissions at a terminal or use the same command shown below as a "job" under mythtv-setup.
Example syntax of mythrename.pl:
$ /usr/share/mythtv/contrib/mythrename.pl --link /mnt/storage/Movies\ and\ Video/MYTHTVshows/ --format %T/%T%-%S
In Ubuntu 8.04, you will find the perl script in gzip form:
/usr/share/doc/mythtv-backend/contrib/mythrename.pl.gz
Help Output
mythrename.pl usage:
options:
--link [destination directory]
If you would like mythrename.pl to work like the old mythlink.pl, specify
--link and an optional pathname. If no pathname is given, links will be
created in the show_names directory inside of the current mythtv data
directory on this machine. eg:
/var/video/show_names/
WARNING: ALL symlinks within the destination directory and its
subdirectories (recursive) will be removed when using the --link option.
--live
Include live tv recordings, affects both linking and renaming.
default: do not link/rename live tv recordings
--format
default: %T %- %Y-%m-%d, %g-%i %A %- %S
%T = title (aka show name)
%S = subtitle (aka episode name)
%R = description
%C = category (as reported by grabber)
%c = chanid
%U = recording group
%y = year, 2 digits
%Y = year, 4 digits
%n = month
%m = month, leading zero
%j = day of month
%d = day of month, leading zero
%g = 12-hour hour
%G = 24-hour hour
%h = 12-hour hour, with leading zero
%H = 24-hour hour, with leading zero
%i = minutes
%s = seconds
%a = am/pm
%A = AM/PM
%- = separator character
/ = directory/folder (path separator)
* For end time, prepend an "e" to the appropriate time/date format code
above; i.e. "%eG" gives the 24-hour hour for the end time.
* For original airdate, prepend an "o" to the year, month, or day format
codes above; i.e. "%oY" gives the year in which the episode was first
aired.
* A suffix of .mpg or .nuv will be added where appropriate.
* To separate links into subdirectories, include the / format specifier
between the appropriate fields. For example, "%T/%S" would create
a directory for each title containing links for each recording named
by subtitle. You may use any number of subdirectories in your format
specifier. If used without the --link option, "/" will be replaced
with the "%-" separator character.
--separator
The string used to separate sections of the link name. Specifying the
separator allows trailing separators to be removed from the link name and
multiple separators caused by missing data to be consolidated. Indicate the
separator character in the format string using either a literal character
or the %- specifier.
default: '-'
--replacement
Characters in the link name which are not legal on some filesystems will
be replaced with the given character
illegal characters: \ : * ? < > | "
default: '-'
--underscores
Replace whitespace in filenames with underscore characters.
default: No underscores
--verbose
Print debug info.
default: No info printed to console
--help
Show this help text.
