[mythtv-users] Duplicate matching methods - make program ID an explicit choice
John Veness
John.Veness.mythtv at pelago.org.uk
Thu May 19 18:12:00 UTC 2016
On May 19, 2016 5:13:01 PM GMT+01:00, "Michael T. Dean" <mtdean at thirdcontact.com> wrote:
>MythTV has always used program ID if it was there and ignore the
>specified duplicate matching method. What you're likely thinking of is
>
>the fact you used to think you had control because users of XMLTV
>grabbers used to not get program IDs. Now they do (they have for a
>long, long time, now, but you probably remember the before). For the
>XMLTV parser, the title of a show is used to generate a series ID
>that's
>the ELF hash of the title. If a program's XMLTV <episode-num>
>element's
>system attribute is "dd_progid", the episode_num is used as the
>programid (and this should remain this way). This provides a means for
>
>the provider to say, "this value should be used as the definitive
>episode identifier". Otherwise, if the <episode-num> system attribute
>is "xmltv_ns" and if the XMLTV listings contain both a season and
>episode number and if the season is 35 or less, a program ID is
>generated by concatenating a category type identifier (MV, EP, SP, or
>SH), the series ID, the episode number, a single-digit season number
>(in
>base 36--1-Z, where Z has a decimal value of 35), and, if applicable,
>the partnumber and parttotal. This seems like it would be a good
>"universal" program ID, but it's not--because the season and episode
>numbers aren't universally consistent (nor defined--reference Firefly
>and it's out-of-order airing, for one).
>
>In fact, IMHO, autogenerating program IDs is just plain wrong. If you
>want a quick fix, I'd rather see a patch that removes the program ID
>generation from the xmltvparser (
>https://github.com/MythTV/mythtv/blob/master/mythtv/programs/mythfilldatabase/xmltvparser.cpp#L551
>
>). Then, the motivated user could even add in a duplicate matching
>mechanism that compares season and episode (and part/parttotal) number
>(after adding season and episode columns to program data and updating
>the code to insert them appropriately at listings retrieval) since
>that's really all the autogenerated program IDs were comparing.***
>Now,
>if you're switching to Schedules Direct (or some other provider that
>provides a program ID encoded using the dd_progid system, this won't
>help to fix duplicate matching for previous episodes--but if nothing
>else, it should convince you that there's no harm removing the broken
>program ID data from your database.
>
[snip] >The problem is that requires the user to know too much about the
>internal workings of MythTV. It should just do the right
>thing--meaning
>it should always use program IDs (since they're defined to be unique
>identifiers of episodes) if they exist and--ideally, after someone who
>actually cares/switches listings providers or has multiple listings
>providers with differing program ID writes a patch to make program ID
>listings-source-specific--come from the same listings provider. A
>quick
>and messy fix isn't the right solution here--it will just prevent
>anyone
>from ever doing things right and we already have plenty of old "good
>enough for now" garbage in MythTV that still needs to be fixed. If
>it's
>going to be messy, it's better to keep the mess out of MythTV and let
>the users mess with the data in their database and clear out their old
>program IDs.
>
>So, basically, your concerns over program ID result solely from your
>experience with a) multiple providers with different program ID values
>(so we need listings-source awareness in the program ID usage) and b)
>having program IDs where you shouldn't--all of those XMLTV-parser
>autogenerated garbage values.
>
>Mike
>
>*** And, FWIW, there are good reasons to add season and episode to
>program, so doing this would have other benefits, too.
Thanks for the explanation of the auto-generated program IDs, Mike. Now you mention it, it does sound familiar, but I had forgotten the details.
I haven't checked the raw output of the uk_rt grabber or the new SD JSON one, but if it turns out to be the case that they both use xmltv_ns season/episode numbering, and if program titles are the same, maybe the autogenerated program IDs would match too? Does anyone else know?
I think my problems previously have been when a program is broadcast both on a channel for which I used XMLTV to get listings and on another where only EIT was available. These seemed to get different IDs.
John
More information about the mythtv-users
mailing list