Menu

pyTivo_metadata  Edit

SIGNIFICANCE OF programId IN PYTIVO METADATA FILES

If your pyTivo metadata .txt file contains programId, you can get fuller looking metadata when transferring programs back to your TiVo, including picture art, etc. All you need to have in your metadata .txt file is a programId field with a valid programId value in it. Example:

programId : EP0306094024-0347754713

For a pyTivo pull in HDUI this will appear as full metadata to the TiVo as if it was recorded on TiVo itself.

Constructing programId from collectionId and contentId

For Rovi guide data, TiVo constructs programId based on values of collectionId and contentId. The way it is constructed is as follows:

  • For a movie the prefix is MV, otherwise for a series the prefix is EP
  • Take value of collectionId and strip out non-numerical portion.
  • Resulting number needs to be 10 digits long padded with leading 0s if needed.
  • Now repeat above 2 steps to generate simliar 10 digit 0-padded number from contentId
  • Now put everything together.
  • For a movie: MV[collectionId]-[contentId]
  • For a series: EP[collectionId]-[contentId]

For example, for the movie Creed (2015):
"collectionId": "tivo:cl.328422972"
"contentId": "tivo:ct.328421836"

10 digit collectionId becomes: 0328422972
10 digit contentId becomes: 0328421836
The resulting programId becomes: MV0328422972-0328421836

So resulting field in pyTivo metadata file should be:
programId : MV0328422972-0328421836

NOTE: In kmttg from various Remote tables such as Search or Guide you can select an entry in the table and press 'j' key to dump RPC information about the program which includes collectionId and contentId.

SIGNIFICANCE OF seriesId IN PYTIVO METADATA FILES

If your pyTivo metadata .txt file contains seriesId, you can get programs you transfer to your TiVo via pyTivo with same seriesId setting to group in folders. Example:

seriesId : MV0328422972

If you use a seriesId value which matches a seriesId of shows currently on your TiVo, then your transfers will group with those shows. If you create an arbitrary seriesId number then all your transfers using the same seriesId should group together.

Constructing seriesId from collectionId

For Rovi guide data, seriesId is constructed as follows:

  • For a movie the prefix is MV, else for series prefix is SH.
  • Take value of collectionId and strip out non-numerical portion.
  • Resulting number needs to be 10 digits long padded with leading 0s if needed.
  • Now put everything together.
  • For a movie: MV[collectionId]
  • For a series: SH[collectionId]

For example, for the movie Creed (2015):
"collectionId": "tivo:cl.328422972"

10 digit collectionId becomes: 0328422972
The resulting seriesId becomes: MV0328422972

So resulting field in pyTivo metadata file should be:
seriesId : MV0328422972

ARBITRARY seriesId

If you want to just make up an arbitrary seriesId just for the purpose of grouping shows together you should use the "TS" prefix instead of any of the ones listed above. Note that an arbitrary seriesId coupled with a valid programId will not work for pyTivo pulls to provide full metadata while grouping arbitrary shows together. For a pyTivo pull you should always supply a valid seriesId or just omit seriesId and supply a valid programId. i.e. Arbitrary seriesId for grouping is really only useful for pyTivo pushes.

NOTE: In kmttg from various Remote tables such as Search or Guide you can select an entry in the table and press 'j' key to dump RPC information about the program which includes collectionId and contentId.


Related

Wiki: Home