Discussion:
[Xmltv-devel] put references to themoviedb.org and thetvdb.com into episode-num
Karl Dietz
2013-10-22 23:01:45 UTC
Permalink
Hi,

I'd like to propose two new systems for episode-num to allow storage of
reference numbers from themoviedb.org and thetvdb.com into episode-num.

My use case is performing the matching of the tv guide to open databases
at the guide server where an editor can solve ambiguities for the users,
so users can get perfect automatic matches to extended metadata in their
media center.
E.g match airings of Battlestar Galatica correctly to the original
series or the remake depending on station etc.

The system would be pseudo urls of "themoviedb.org" and "thetvdb.com"
similar to DVB CRID or java package names based on the internet domain.


For themoviedb there are two id schemes of pseudo urls again

"https://www.themoviedb.org/movie/2" for movies and

"https://www.themoviedb.org/tv/3133" for the series / a generic episode
"https://www.themoviedb.org/tv/3133/season/1/episode/12" for an episode
I'm not sure if a scheme for seasons of a series has any use case but
"https://www.themoviedb.org/tv/3133/season/1" would be the matching
scheme


For thetvdb I'd like to propose a very similar scheme, which would not
be their current urls but real fake urls instead.
"http://www.thetvdb.com/series/80719/season/29036/episode/339455"
"http://www.thetvdb.com/series/80719"
and again a variant for the season
"http://www.thetvdb.com/series/80719/season/29036"


The reference ids can then be used to match to pictures at
http://fanart.tv/ etc.

As both databases appear to be the main open databases for metadata I'd
like to document these systems in the DTD, too.

Thoughts?

Regards,
Karl
Robert Eden
2013-10-23 06:20:32 UTC
Permalink
Post by Karl Dietz
For thetvdb I'd like to propose a very similar scheme, which would not
be their current urls but real fake urls instead.
"http://www.thetvdb.com/series/80719/season/29036/episode/339455"
"http://www.thetvdb.com/series/80719"
and again a variant for the season
"http://www.thetvdb.com/series/80719/season/29036"
I think what you mean by real fake urls is the URLs contain the episode
id info you need to get the data, but the web site doesn't support that
"shortcut" format.

Unless they plan to offer those short URLs in the future, I think it
would be better not to be a URL. Just leaving off the http:// would
work. Apps would know how to parse the data.

Overall, it's a good idea, that should benefit some apps.

Robert
h***@gmail.com
2013-10-23 07:10:00 UTC
Permalink
Post by Robert Eden
Post by Karl Dietz
For thetvdb I'd like to propose a very similar scheme, which would not
be their current urls but real fake urls instead.
I think what you mean by real fake urls is the URLs contain the episode
id info you need to get the data, but the web site doesn't support that
"shortcut" format.
Yes a fake URL would be a REST URI and would imply a server-side REST API to handle them. I think that will be confusing.

You know you can just add these now without DTD changes? Documenting in the DTD would be helpful though.

This is similar to something I added in uk_atlas where I have an extra (i.e. additional to the normal 'xmltv_ns') tag which I use for brand/series/episode and contains crids to the Atlas database, e.g.

<episode-num system="brand.series.episode">hcs..cpmdzz</episode-num>

Perhaps we could add this system while we're at it? (Might need tweaking a bit due to Atlas' confusing use of "brand").


Back to Karl's proposal...

Don't forget IMDb ;)

I think this is a good idea but I'm not sure the <episode-num> is the right tag for this. I would suggest it extends the existing <url> tag. This could have an attribute of "system" with values like "themoviedb", "thetvdb", "imdb", "epguides", etc. The content would be the rest of the link (or pseudo-link): e.g. "series/80719/season/29036/episode/339455".

So a complete example might be:

<url system="themoviedb">tv/3133/season/1</url>
<url system="thetvdb">series/80719/season/29036/episode/339455</url>

That does imply that it's an actual clickable url though. :(


No wait... why not combine the two? So instead of a uri the tag contains just the series/season/episode numbers (like I did for Atlas)?

<episode-num system="xmltv_ns">9.17/20.</episode-num>
<episode-num system="atlas">hcs..cpmdzz</episode-num>
<episode-num system="themoviedb">.1.3133</url>
<episode-num system="thetvdb">80719.29036.339455</url>


Ok so people will need to know the url format for each website but that's not a problem. And this way, if the site ever changes their url format the system won't need changing. It also saves people having to regex the "url" to get to these values.

Geoff
h***@gmail.com
2013-10-23 07:15:05 UTC
Permalink
Post by h***@gmail.com
<episode-num system="xmltv_ns">9.17/20.</episode-num>
<episode-num system="atlas">hcs..cpmdzz</episode-num>
<episode-num system="themoviedb">.1.3133</url>
<episode-num system="thetvdb">80719.29036.339455</url>
p.s. So based on this approach, some "systems" would be Project-wide and thus should be documented in the DTD (e.g. xmltv_ns, themoviedb), whereas others are grabber-specific and need documenting only in that grabber (e.g. atlas).

G.

Loading...