PDA

View Full Version : pyTivo and kmttg


orangeboy
10-26-2009, 07:19 PM
Just a quick question: Does pyTivo support programId metadata when *pulling* from a PC?

I'm using kmttg to process Tivo files (download, decrypt, QS fix, Ad detect, and Ad Cut) and for the most part, push the processed files back using pyTivo. On occasion, the push fails and I resort to pulling from Tivo, again, using pyTivo.

The problem with this is the metadata associated with the processed file doesn't include the programId, and kmttg doesn't know that the pulled file should be ignored. kmttg keeps a history file, using the programId as a key to whether or not allow the program is to be downloaded again. As a result, kmttg downloads the processed file and does it's thing again: download, decrypt, QS fix, Ad detect, and Ad Cut.

I see the easiest fix as being pyTivo including the programId when a file is pulled from the PC to the Tivo, and kmttg adding programId to it's metadata file. Of course it all depends on the answer to my question at the top of this post!

Thanks guys for providing some VERY useful tools! :up:

orangeboy
10-27-2009, 05:37 PM
Just a quick question: Does pyTivo support programId metadata when *pulling* from a PC?

Any insight here? :confused:

AudioNutz
10-27-2009, 06:37 PM
Yes.

orangeboy
10-28-2009, 12:19 AM
Yes.

Cool. I'll start populating an additional line into the metadata file to account for this field. That should prevent unnecessary work with kmttg. Thanks!!!

Rdian06
10-28-2009, 02:15 AM
Yes.

Umm, I just looked at the pyTivo video templates and didn't see anything referring to programId. Also looked in metadata.py and it's not mentioned in there anywhere.

Maybe you're thinking of the seriesId?

Given that it's not in the video templates, I doubt that programId would be propagated to the Tivo on a pull. That is unless it's working in some mysterious way in which the code doesn't have to reference the field by name...

txporter
11-02-2009, 04:32 PM
Pull and push from pytivo work differently with the seriesID. The seriesID that you get from the Tivo is how programs are grouped based on its (the tivos) database. If you pull with pytivo, your programs will be grouped according to that same database on the Tivo.

However, when you push a file with pytivo, the seriesID is used for grouping those files only on your PC side. Some new seriesID is created and added to the Tivo database that will group all of the pushed files (with the same seriesID on the PC side) together.

(The following example assumes that you have a metadata file for your videos that includes the correct seriesID from your tivo.) Let's say you have you have 5 episodes of Lost that you tried to push back up to your Tivo, but one of them fails. If you go onto your Tivo and pull the file, it will group with the original videos but not with the pushed videos.

The easiest way to keep them all grouping, would be to go into the pytivo web interface (localhost:9032), and push the video that failed up onto your tivo. It will group with the others.

Also, just a note, if you were re-encoding your downloaded videos to h.264 before pushing them up, pulling from tivo will force pytivo to transcode h.264 back to mpeg2.

moyekj
11-02-2009, 05:36 PM
The OP was looking for a way to control what programId is used for pyTivo pull transfers which I don't believe is possible.