Tom Lichti wrote:

Michael T. Dean wrote:

Tom Lichti wrote:

Michael T. Dean wrote:

MythTV wrote:

#857: Patch to mythrename.pl to work correctly with slave backends
-------------------------------------+-------------------------------------- Reporter: [EMAIL PROTECTED] | Owner: ijr Type: patch | Status: new Priority: minor | Milestone: Component: mythtv | Version: head Severity: low | -------------------------------------+-------------------------------------- This small patch updates mythrename.pl to use the hostname when deciding what records to process. I only use the --link option, so further testing may be required.

If you check for hostname with the query, we won't get links to recordings recorded on other backends, even if the file exists on the filesystem (i.e. multiple backends share a recordings directory using NFS). Since mythrename.pl checks for the existence of the file before creating the link, we shouldn't need to do this check. As is, we (should) only get links to recordings that are available through the filesystem and recordings whose filies are not available are (should be) ignored.

If there's a specific problem/error you're trying to fix, more info would be nice... :)

Hrm. Well, in my case, using the --link option on both my master and slave backends creates the same links on both, so something isn't working. I'll see if I can narrow it down some more. At a quick glance, I don't see where the check for the file existence is being done, but I'm no perl expert.

Hrmmm. It seems that mythlink.sh had it, but mythlink.pl (which eventually became mythrename.pl) never got it...

So, how's this? It should also make for many less "restores" after rename fails on inaccessible files... Good catch.

If it works, you can post it on your ticket as a replacement for your patch (since this should meet both our expectations :).

That seems to do it! I'll update the ticket.

Thanks. BTW, it's easier for the devs if you attach the file instead of putting it in the text (which can lead to copy/paste errors of varying severity from annoying to won't-apply to applies-but-won't-compile to applies-and-compiles-but-doesn't-function-properly). Normally, you post your, "This patch ..." message and /after/ submitting it, view the ticket and use the "Attach File" button to attach the file.

There are a couple of other things that mythlink did that mythrename doesn't... :)

1) It doesn't delete old links for shows that have been deleted (I just add an rm * but it's pretty brutal)

Are you sure? It should remove any links (even ones it didn't create ;) in the destination directory before starting to create links and should die if it fails to remove any of them (so you should get all or nothing). Lines 226-229 - http://svn.mythtv.org/trac/browser/trunk/mythtv/contrib/mythrename.pl?rev=8364#L225 .

BTW, it works for me.

2) I like to organize the links by making a folder for each show, and then just have the shows listed by title and date (again, I hacked mine, but not nicely)

I'm doing a slightly easier thing that may work for you. Instead of grouping shows by folder, I create several folders with different "views" of the files--each sorted differently. I have a script (mythlink.sh) which creates the views (so I can run a single cron job to create them all).

When changing from the old mythlink.sh to mythlink.pl, I created the script as a "functional replacement" of the "upgraded" mythlink.sh (not the 0.18.1 and below version) in case packagers/etc. wanted it. Chris decided that the script didn't really warrant inclusion in the contrib directory and I agreed, but I'm including a copy here for your viewing. (You'll need to edit the values at the top as described in the comments.)

The 5 format strings I include provide sorting by:
   1) start time/end time/title
   2) title/start time
   3) group/title/start time
   4) category/title/start time
   5) title/original airdate/subtitle

Using wildcards, you can easily view the shows by title. Perhaps something like this would work for you?

Mike
#!/bin/bash
#
# mythlink.sh
#
# Creates readable symlinks referring to MythTV recordings using the
# mythrename.pl script


### Modify these values for your installation ###

# The path in which the views ("pretty" links) will be created
VIEWS_PATH=/mythtv/views

# The location of the mythrename.pl script
# The default value assumes mythrename.pl is in the user's PATH
COMMAND=mythrename.pl


### The following directory names and formats may be customized ###

# Formats may be constructed using the format specifiers listed in the
# output of "mythrename.pl --help"

# Files will be sorted "alphabetically" so the appropriate fields on which you
# would like to sort should be placed at the beginning of the format

# To add a custom format, simply include a directory name and format in the
# environment variables below using the syntax shown below.

# The names of the directories containing the views
DIRECTORIES=(
             'time'
             'title'
             'group'
             'category'
             'original_airdate'
            )
# The formats used for the respective directories specified above
FORMATS=(
         '%Y%m%d-%H%i-%eH%ei-%T-%S'
         '%T-%Y%m%d-%H%i-%eH%ei-%S'
         '%U-%T-%Y%m%d-%H%i-%eH%ei-%S'
         '%C-%T-%Y%m%d-%H%i-%eH%ei-%S'
         '%T-%oY%om%od-%S'
        )

# The string used to separate sections of the link name
SEPARATOR='-'

# The string used to replace illegal characters in the filename
REPLACEMENT='_'


# Make the links by calling mythlink.pl with the appropriate arguments
last_index=$(( [EMAIL PROTECTED] - 1 ))
for directory in `seq 0 $last_index`; do
  ${COMMAND} --link ${VIEWS_PATH}/${DIRECTORIES[$directory]} \
             --separator $SEPARATOR \
             --replacement $REPLACEMENT \
             --underscores \
             --format ${FORMATS[$directory]}
done

_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to