Ticket #208 (new Enhancement)

Opened 4 months ago

Last modified 5 days ago

Ditch tvrage and move to thetvdb.com

Reported by: anonymous Assigned to:
Priority: normal Milestone:
Component: Metadata - TV Show Version: 1.0b6.3
Keywords: Cc:

Description

Tvrage.com is old and busted. I suggest that you guys move to importing from thetvdb.com. This is what every other major media center gets their metadata from. Its got tons of content and has tons of imagery (Series images, Season images, Episode images).

This would significantly improve the way Sapphire looks and feels.

Attachments

Change History

08/03/08 09:28:38 changed by gbooker

Patches welcome.

(in reply to: ↑ description ) 09/17/08 11:41:53 changed by anonymous

Replying to anonymous:

Tvrage.com is old and busted. I suggest that you guys move to importing from thetvdb.com. This is what every other major media center gets their metadata from. Its got tons of content and has tons of imagery (Series images, Season images, Episode images). This would significantly improve the way Sapphire looks and feels.

thetvdb.Com doesn't even come close to what tvrage has to offer from the looks of it, in your forums you even discuss the fact that you take information from tvrage and tv.com, so how would switching improve it?

11/05/08 15:47:33 changed by edalzell

gbooker, would you be able to point in the right direction for looking at this? I just ran into a case where the data was in thetvdb and not tvrage, so I would be interested in exploring this one.

Thanks

(follow-up: ↓ 5 ) 11/06/08 04:59:36 changed by wazza

I'd like to my opinion on this. I guess this would be better suited to a forum, so my apologies.

There are pros and cons involved with using thetvdb.com

Pros

From what little I've seen there is better support for reports in foreign languages. This might be useful one day.

The results of a search are available in a fixed XML format, which could be parsed better than scraping the tvrage HTML, and you don't have to worry about webadmins suddenly changing the layout of the site.

Cons

From the term and conditions developers are required to register with the site to get a key. Whoever does this would in efect become the Sapphire rep and would need to be available for any and all problems that could come up. So implementing this and running away isn't an option ;-)

From the site: "If you have a publicly available program, you MUST inform your users of this website and request that they help contribute information and artwork if possible." This means if you add thetvdb to Sapphire you'd better be sure that the Sapphire team would agree to this condition.

The data returned for an initial search is per series. For series with one or two seasons this may be manageable, but for series with 4 or more seaons this could feasibly be a huge download, one a user may not appreciate. Data is returned in a zipped bundle. All of it, you can't pick and choose what you want. Not only do you get series information but you'll get all of the artwork etc. Sounds like a very large file to me.

What should you do with the data once it's downloaded?

  • Should you save it to file? If yes then you'll be taking up a potentially large amount of space on a users machine. And if you save it what do you do with updates?
  • Use what you want then throw everything else away? If yes then the next download will be full of redundant, time consuming, information.
  • How do you open the data? AFAIK there isn't a zip API in Cocoa. Asking the OS to do it would be slooooooow. But bindings to other languages (e.g. python and its zipfile module) are possible, I guess.

Lastly, would adding import from thetvdb be in place of, or in addition to, tvrage? If it's a replacement, fair enough, but if it would be extra functionality then you'd probably have to add a menu option for the user to decide what source to get the TV info from. Or should it be just a fallback option if the show is missing from TV rage? In which case this would seem like a lot of work for an irregular occurrence.

DISCLAIMER: This is my opinion as an interested observer, I am not a member of the Sapphire team. Even though I listed more cons than pros I think it would be a good addition, but there are lots of things that need to be considered.

(in reply to: ↑ 4 ; follow-up: ↓ 6 ) 11/06/08 10:24:24 changed by gbooker

Replying to wazza:

The results of a search are available in a fixed XML format, which could be parsed better than scraping the tvrage HTML, and you don't have to worry about webadmins suddenly changing the layout of the site.

Actually, in terms of ease of fetching data, this is no easier. The only advantage is it shouldn't change.

From the term and conditions developers are required to register with the site to get a key.

We actually created a key a while ago to play with it.

From the site: "If you have a publicly available program, you MUST inform your users of this website and request that they help contribute information and artwork if possible." This means if you add thetvdb to Sapphire you'd better be sure that the Sapphire team would agree to this condition.

Eh, we are actually doing this with tvrage already. So, this could just be a change to add "and thetvdb". Simple enough.

The data returned for an initial search is per series. For series with one or two seasons this may be manageable, but for series with 4 or more seaons this could feasibly be a huge download, one a user may not appreciate. Data is returned in a zipped bundle. All of it, you can't pick and choose what you want. Not only do you get series information but you'll get all of the artwork etc. Sounds like a very large file to me.

You get artwork information, not the artwork itself. I did a test case, with Stargate SG-1. The whole series info is 285KB. Season 10's info from tvrage is about 80KB.

What should you do with the data once it's downloaded?

Just do what we already do with tvrage. There we get a season at a time; so just simply cache it for the duration of the import.

- How do you open the data? AFAIK there isn't a zip API in Cocoa. Asking the OS to do it would be slooooooow. But bindings to other languages (e.g. python and its zipfile module) are possible, I guess.

Or, just parsing the zipfile and running the filedata through uncompress(). The zip file format appears to be designed by a moron, but it is possible to parse some of it.

Lastly, would adding import from thetvdb be in place of, or in addition to, tvrage?

I would say it will not replace it. tvrage tends to have better data.

We are not opposed to ripping from thetvdb, but we don't have much interest in doing it ourselves. If someone were to implement it, we would consider including it in future releases.

(in reply to: ↑ 5 ; follow-up: ↓ 7 ) 11/14/08 01:22:23 changed by edalzell

Replying to gbooker:> We are not opposed to ripping from thetvdb, but we don't have much interest in doing it ourselves. If someone were to implement it, we would consider including it in future releases.

Are you able to give me a pointer on where to start looking in the Sapphire code?

Thanks

(in reply to: ↑ 6 ) 11/14/08 10:44:29 changed by gbooker

Replying to edalzell:

Are you able to give me a pointer on where to start looking in the Sapphire code?

The current TV Importer is located in SapphireTVShowImporter.m. The code is quite modular, so another class like that one is sufficient.


Add/Change #208 (Ditch tvrage and move to thetvdb.com)