Taxel / PlexTraktSync

A python script that syncs the movies, shows and ratings between trakt and Plex (without needing a PlexPass or Trakt VIP subscription)
MIT License
1.62k stars 106 forks source link

Support for XBMCnfoMovies and XBMCnfoTV importer/agents #2

Closed kimpenhaus closed 5 years ago

kimpenhaus commented 5 years ago

Hi,

I am using XBMCnfoMoviesImporter and XBMCnfoTVImporter bundles which are currently not supported - which depends on the given guid.

I have added support for that on my locale repor clone - but I am not sure if that always behaves the same. With me XBMCnfoMoviesImporter is similar to imdb and XBMCnfoTVImporter is similar to thetvdb (but that might depend on the source used to create the xbmc nfo files.

My additions are plain stupid 😁

elif 'imdb' in guid or 'xbmcnfo' in guid: (in line 42 of main.py) and elif 'thetvdb' in guid or 'xbmcnfotv' in guid: (in line 125 of main.py)

Maybe someone has a better and more reliable idea how to add that support?!

Thanks for your effort and sharing!

Taxel commented 5 years ago

I haven't used XMBC nfos but according to the Kodi documentation the nfo file only contains a link to an information provider page. Could you paste a couple of GUIDs how they are listed in XBMCnfoMoviesImporter and XBMCnfoTVImporter? Without knowing how they look it is difficult to add compatibility for them.

kimpenhaus commented 5 years ago

Sure

Movies do look like:

and Shows like this:

I think the patterns are quite obvisiously, but as I said my scraper is imdb (movies) and thetvdb (shows).

From kodi official docs you can see that there is more than one scraper possible:

<uniqueid type="xxxx" default="true"></uniqueid>

Unique Id. The ID from the scraper site.

xxxx = Identifier of the ID eg imdb, tmdb. For non-scraped items, use simple values like "home", "sport", "doco" etc

true = This will be set as the default ID. Multiple ID's are allowed but only one can be marked "true"

The value can be alpha-numeric. Typical entries tt3480556 for imdb, 286668 for tmdb, home001 for home movies etc

Maybe you could check with a regex tt[0-9] or something for imdb on the movie parts... nevertheless I am not sure how to distinguish between other scrapers than imdb... if there are so much more than tmdb... Or maybe its just a plain simple config setting?!

Thanks, m.

Taxel commented 5 years ago

Hmmm, here's my proposal: I add the xbmcnfo and xbmcnfotv scrapers as separate cases (since ID extraction for the plex search seems to work according to your examples) and a config option for each, where the user can specify the data provider as a string ("imdb", "tmdb" etc) EDIT: Added this in the latest commit, please report back if it works for you Also, out of interest: Which language does "xn" stand for?

kimpenhaus commented 5 years ago

Sounds perfect with me!

Regarding language: from what I saw this is the NoLanguage definition from the Plex API and set in the XBMCnfoMoviesImporter

kimpenhaus commented 4 years ago

Just wanted to give some feedback - works flawless!

Thanks for implementing 👍