Kodi Community Forum
Release TMDb TV Show scraper (Python - Default Matrix Scraper) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Information Providers (scrapers) (https://forum.kodi.tv/forumdisplay.php?fid=147)
+----- Forum: TV Show Scrapers (https://forum.kodi.tv/forumdisplay.php?fid=305)
+----- Thread: Release TMDb TV Show scraper (Python - Default Matrix Scraper) (/showthread.php?tid=357232)



RE: TheMovieDB Python - TV Show scraper - Karellen - 2020-10-15

I notice that the "Original Name" in French does have the accent.
Image

I also notice that there are no alternative names for the show. Not sure which fields the scraper searches, but maybe it needs one?
Image


RE: TheMovieDB Python - TV Show scraper - macomeau - 2020-10-15

(2020-10-15, 01:09)Karellen Wrote: I notice that the "Original Name" in French does have the accent.


I also notice that there are no alternative names for the show. Not sure which fields the scraper searches, but maybe it needs one?

I've just added the French spelling as an alt title, but that doesn't seem to have worked. The standard scraper does work with the accent in the directory name, fwiw.


RE: TheMovieDB Python - TV Show scraper - Karellen - 2020-10-15

(2020-10-15, 01:16)macomeau Wrote: I've just added the French spelling as an alt title, but that doesn't seem to have worked.
You won't see an immediate change due to the caching TMDB uses. It will take a few hours.

But I also wanted to raise the observation for @pkscout in case there is a workaround.


RE: TheMovieDB Python - TV Show scraper - pkscout - 2020-10-15

(2020-10-15, 01:19)Karellen Wrote:
(2020-10-15, 01:16)macomeau Wrote: I've just added the French spelling as an alt title, but that doesn't seem to have worked.
You won't see an immediate change due to the caching TMDB uses. It will take a few hours.

But I also wanted to raise the observation for @pkscout in case there is a workaround.
The API doesn't specify which fields it searches when you do a search, you just give it a title and then it returns results.  Based on results I've gotten in the past, it appears to search the title and original title fields. But it won't find something if they are spelled differently (and that accent character makes it a different spelling).  I'd suggest putting the URL for the show in a tvshow.nfo file in the root of the folder name. That will tell the scraper what show to scrape. Alternatively, if you can get to the manual search interface, you could just use the TMDb ID (type tmdb/<id> into the search field.


RE: TheMovieDB Python - TV Show scraper - ramis52 - 2020-10-15

(2020-10-14, 23:42)pkscout Wrote: @macomeau I was right, it was an easy fix.  This will by pushed out with the next release, but I don't yet know for sure when that will be.  In the meantime, you can manually install this version for Leia (that's what your log should you were using) that should resolve your issue:

https://github.com/xbmc/metadata.tvshows.themoviedb.org.python/archive/leia.zip

If anyone is on Matrix and having problems with a show not scraping because they have no network listed, you can download the Matrix version of this patch at:

https://github.com/xbmc/metadata.tvshows.themoviedb.org.python/archive/matrix.zip
Hi,

does this matrix version include the fallback to english fix too? I Experience the same Problem with some non English Series


RE: TheMovieDB Python - TV Show scraper - macomeau - 2020-10-15

(2020-10-15, 08:09)pkscout Wrote: The API doesn't specify which fields it searches when you do a search, you just give it a title and then it returns results.  Based on results I've gotten in the past, it appears to search the title and original title fields. But it won't find something if they are spelled differently (and that accent character makes it a different spelling).  I'd suggest putting the URL for the show in a tvshow.nfo file in the root of the folder name. That will tell the scraper what show to scrape. Alternatively, if you can get to the manual search interface, you could just use the TMDb ID (type tmdb/<id> into the search field.

Yeah, the accented version of the title is the "original name" on TMDB. Like I said, the old scraper finds it with the accent. Both the old scraper and the python scraper also find Scene of the Crime in my directory with the original, German title. The German title is also not present as an "alternative name," only as "original name."

TV\Tatort\ gets scraped as Scene of the Crime (1970) by both scrapers. Correct.
TV\Bron-Broen (2011)\ gets scraped as The Bridge (2011) by both scrapers. Also correct. Also the "original name."
TV\Résistance\ throws an error with the python scraper, but gets scraped correctly as Resistance (2014) by the old one.

My concern is more that it is throwing an error, since I can (and have) manually added it to my library.

Specifically, this bit from the log caught my eye:
2020-10-14 18:51:56.093 T:2597318864 DEBUG: [metadata.tvshows.themoviedb.org.python (1.1.17)]: using title of Résistance to find show
2020-10-14 18:51:56.116 T:2597318864 ERROR: [metadata.tvshows.themoviedb.org.python (1.1.17)]: *** Unhandled exception detected: <type 'exceptions.UnicodeEncodeError'> 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128) ***


RE: TheMovieDB Python - TV Show scraper - pkscout - 2020-10-16

(2020-10-15, 08:31)ramis52 Wrote:
(2020-10-14, 23:42)pkscout Wrote: @macomeau I was right, it was an easy fix.  This will by pushed out with the next release, but I don't yet know for sure when that will be.  In the meantime, you can manually install this version for Leia (that's what your log should you were using) that should resolve your issue:

https://github.com/xbmc/metadata.tvshows.themoviedb.org.python/archive/leia.zip

If anyone is on Matrix and having problems with a show not scraping because they have no network listed, you can download the Matrix version of this patch at:

https://github.com/xbmc/metadata.tvshows.themoviedb.org.python/archive/matrix.zip
Hi,

does this matrix version include the fallback to english fix too? I Experience the same Problem with some non English Series
Yes, that zip does include the English fallback logic. I am submitting it for review to the main repo today.  If you can, I would encourage you to wait until the update hits the repo. In Matrix if you install it from zip you won't get anymore updates from the repo until you manually update it once from the repo.


RE: TheMovieDB Python - TV Show scraper - pkscout - 2020-10-16

(2020-10-15, 20:01)macomeau Wrote:
(2020-10-15, 08:09)pkscout Wrote: The API doesn't specify which fields it searches when you do a search, you just give it a title and then it returns results.  Based on results I've gotten in the past, it appears to search the title and original title fields. But it won't find something if they are spelled differently (and that accent character makes it a different spelling).  I'd suggest putting the URL for the show in a tvshow.nfo file in the root of the folder name. That will tell the scraper what show to scrape. Alternatively, if you can get to the manual search interface, you could just use the TMDb ID (type tmdb/<id> into the search field.

Yeah, the accented version of the title is the "original name" on TMDB. Like I said, the old scraper finds it with the accent. Both the old scraper and the python scraper also find Scene of the Crime in my directory with the original, German title. The German title is also not present as an "alternative name," only as "original name."

TV\Tatort\ gets scraped as Scene of the Crime (1970) by both scrapers. Correct.
TV\Bron-Broen (2011)\ gets scraped as The Bridge (2011) by both scrapers. Also correct. Also the "original name."
TV\Résistance\ throws an error with the python scraper, but gets scraped correctly as Resistance (2014) by the old one.

My concern is more that it is throwing an error, since I can (and have) manually added it to my library.

Specifically, this bit from the log caught my eye:
2020-10-14 18:51:56.093 T:2597318864 DEBUG: [metadata.tvshows.themoviedb.org.python (1.1.17)]: using title of Résistance to find show
2020-10-14 18:51:56.116 T:2597318864 ERROR: [metadata.tvshows.themoviedb.org.python (1.1.17)]: *** Unhandled exception detected: <type 'exceptions.UnicodeEncodeError'> 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128) ***
That unicode error is related to logging with an extended character. I did fix it, and that fix will be included in the update I'm submitting to the repo today.  I'll see if I can duplicate your issue with Résistance.


RE: TheMovieDB Python - TV Show scraper - pkscout - 2020-10-16

@macomeau I've tested with a folder called Résistance, and the scraper will definitely not find a show match with that folder name.  The API apparently only searches the name field, so if you want a fully automated scrape, the folder name has to match the name on TMDb.  Based on what I'm seeing from the API, the only way to get a match with "Résistance" would be to have the scraper change all the extended characters to "regular" ones, and I'm not going to do that.  I will go mad trying to correct for inconsistent data on one end or the other.  To scrape that show, you have three choices:

1- rename the folder to Resistance (be warned, you may get a Star Wars series on the first try)
2- leave the folder name as is and add a tvshow.nfo file that has the URL from TMDb to the show you want to scrape (guaranteed to get you the show you want)
3- Manually scan the show by going to the show folder in your source and selecting Scan to Library from the context menu. That will bring up a search box where you can either change the name to "Resistance" or use the tmdb id (using tmdb/<id> in the search box).

I may as well warn you now. If you have your language in that source set to anything other than French, you will not get the one poster available for the show. It's labeled as French, so the only time the scraper will return that artwork is if you have French set as your language it in source settings. That is an intentional choice so that you don't end up having to scroll through artwork from 10 different languages that you aren't ever going to use, but that does mean in this edge case that no art is returned unless French is your language. Most shows have at least one poster that has no language, so generally something gets returned.

BTW, I tested Résistance with the current default The Moviedatabase TV show scraper, and it also did not scrape Résistance because it found no match. So this has been the behavior with the TMDb scrapers for awhile.


RE: TheMovieDB Python - TV Show scraper - vgmedia - 2020-10-16

Hi. An error occurs while scanning the tvshows:
python:
2020-10-16 10:02:14.346 T:101052   ERROR <general>: CCurlFile::Stat - Failed: Failure when receiving data from the peer(56) for http://image.tmdb.org/t/p/original/3sSJcOzSLFfamgOVroKuXIpGCux.jpg
2020-10-16 10:02:14.346 T:101056   ERROR <general>: CCurlFile::Stat - Failed: Failure when receiving data from the peer(56) for http://image.tmdb.org/t/p/original/zU01RVqzwbRb7qe6b8a3rsx2eNR.jpg
2020-10-16 10:02:17.150 T:101069    INFO <general>: initializing python engine.
2020-10-16 10:02:17.252 T:101069   ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'AttributeError'>
                                                   Error Contents: module 'xbmcvfs' has no attribute 'translatePath'
                                                   Traceback (most recent call last):
                                                     File "/home/.kodi/addons/metadata.tvshows.themoviedb.org.python/main.py", line 27, in <module>
                                                       from libs.actions import router
                                                     File "/home/.kodi/addons/metadata.tvshows.themoviedb.org.python/libs/actions.py", line 27, in <module>
                                                       from . import tmdb, data_utils
                                                     File "/home/.kodi/addons/metadata.tvshows.themoviedb.org.python/libs/tmdb.py", line 25, in <module>
                                                       from . import cache, data_utils, api_utils, settings, imdbratings, traktratings
                                                     File "/home/.kodi/addons/metadata.tvshows.themoviedb.org.python/libs/cache.py", line 49, in <module>
                                                       CACHE_DIR = _get_cache_directory()  # type: Text
                                                     File "/home/.kodi/addons/metadata.tvshows.themoviedb.org.python/libs/cache.py", line 42, in _get_cache_directory
                                                       profile_dir = xbmcvfs.translatePath(ADDON.getAddonInfo('profile'))
                                                   AttributeError: module 'xbmcvfs' has no attribute 'translatePath'
                                                   -->End of Python script error report<--
                                                   
2020-10-16 10:02:17.275 T:101069    INFO <general>: Python interpreter stopped
2020-10-16 10:02:17.279 T:101068   ERROR <general>: GetDirectory - Error getting plugin://metadata.tvshows.themoviedb.org.python/?action=find&pathSettings=%7b%22certprefix%22%3a%22Rated%20%22%2c%22enable_fanarttv_backdrops%22%3afalse%2c%22enable_fanarttv_banner%22%3afalse%2c%22enable_fanarttv_characterart%22%3afalse%2c%22enable_fanarttv_clearart%22%3afalse%2c%22enable_fanarttv_clearlogo%22%3afalse%2c%22enable_fanarttv_landscape%22%3afalse%2c%22enable_fanarttv_posters%22%3afalse%2c%22enable_fanarttv_seasonbanner%22%3afalse%2c%22enable_fanarttv_seasonlandscape%22%3afalse%2c%22enable_fanarttv_seasonposters%22%3afalse%2c%22fanarttv_clientkey%22%3a%22%22%2c%22imdbanyway%22%3afalse%2c%22keeporiginaltitle%22%3afalse%2c%22language%22%3a%22ru-RU%22%2c%22lastUpdated%22%3a%220%22%2c%22originalUrl%22%3a%22%22%2c%22previewUrl%22%3a%22%22%2c%22ratings%22%3a%22TMDb%22%2c%22tmdbanyway%22%3atrue%2c%22tmdbcertcountry%22%3a%22ru%22%2c%22traktanyway%22%3afalse%2c%22usecertprefix%22%3atrue%2c%22verboselog%22%3afalse%7d&title=%d0%92%20%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0%d1%85%20%d0%ba%d0%b0%d0%bf%d0%b8%d1%82%d0%b0%d0%bd%d0%b0%20%d0%93%d1%80%d0%b0%d0%bd%d1%82%d0%b0&year=1985
2020-10-16 10:02:17.283 T:101070    INFO <general>: initializing python engine.
v.1.2.1
What is the reason for this?


RE: TheMovieDB Python - TV Show scraper - Karellen - 2020-10-16

@vgmedia

Please provide the full Debug Log thanks.


RE: TheMovieDB Python - TV Show scraper - vgmedia - 2020-10-16

Log
TMDb TV Shows v.1.2.1

Thanks.


RE: TheMovieDB Python - TV Show scraper - pkscout - 2020-10-16

(2020-10-16, 11:17)vgmedia Wrote: Log
TMDb TV Shows v.1.2.1

Thanks.

Please update to Matrix Alpha2.  There was a change in the call for translatepath introduced in Alpha2 that means the addon is not compatible with any Matrix version before Alpha2.


RE: TheMovieDB Python - TV Show scraper - vgmedia - 2020-10-16

OK. Thanks.

Edit: upgrade to alpha 2 fixed the issue. Thank you very much.


RE: TheMovieDB Python - TV Show scraper - ramis52 - 2020-10-27

Hi,

maybe this is the wrong section but i have a question how the scraper and kodi matrix handles the images. I realized that when i use matrix + the new python scrapers, the storage of my fire tv cube is getting smaller and smaller. I used the following settings in the scraper and kodi matrix artwork section

scraper: clearart, clearlogo, poster
matrix: custom, clearart, clearlogo

after scraping law and order svu (20 Seasons), Blue Bloods (10 Seasons) the thumbnail folder was already 700mb big. Did i misss any setting? This doesnt happen on leia.

regards
r