Repository: pymedusa/Medusa

Issue:
[APP SUBMITTED]: 404 Client Error: Not Found for url: https://api.thetvdb.com/series/306475 (404)
### INFO
**Python Version**: `2.7.13 (default, Dec 18 2016, 23:11:11) [GCC 4.6.4]`
**Operating System**: `Linux-3.2.40-armv7l-with-glibc2.4`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.8`
**Commit**: pymedusa/Medusa@76e0401eabf7abc7392897f478c4d090a65b3e2c
**Link to Log**: https://gist.github.com/cb9c876770149ea24b2e71f81ea43439
### ERROR
<pre>
2017-11-26 14:31:36 ERROR    SHOWQUEUE-ADD :: [76e0401] 306475 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/306475 (404)'
Traceback (most recent call last):
  File "/volume2/@appstore/sickbeard-custom/var/<a href="../blob/76e0401eabf7abc7392897f478c4d090a65b3e2c/SickBeard/medusa/show_queue.py#L376">SickBeard/medusa/show_queue.py</a>", line 376, in run
    s = indexer_api[self.indexer_id]
  File "/volume2/@appstore/sickbeard-custom/var/<a href="../blob/76e0401eabf7abc7392897f478c4d090a65b3e2c/SickBeard/medusa/indexers/indexer_base.py#L243">SickBeard/medusa/indexers/indexer_base.py</a>", line 243, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/volume2/@appstore/sickbeard-custom/var/<a href="../blob/76e0401eabf7abc7392897f478c4d090a65b3e2c/SickBeard/medusa/indexers/tvdbv2/tvdbv2_api.py#L561">SickBeard/medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 561, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/volume2/@appstore/sickbeard-custom/var/<a href="../blob/76e0401eabf7abc7392897f478c4d090a65b3e2c/SickBeard/medusa/indexers/tvdbv2/fallback.py#L110">SickBeard/medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/volume2/@appstore/sickbeard-custom/var/<a href="../blob/76e0401eabf7abc7392897f478c4d090a65b3e2c/SickBeard/medusa/indexers/tvdbv2/tvdbv2_api.py#L199">SickBeard/medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 199, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/306475 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


Discussion:
Remove the show and add it again, the show ID has changed.
Also, this should probably be a Warning instead of Error.
In this case yes but 404 must be error so we check if API has changed
We can close this then.
I is a brand new installation of Medusa. While adding my existing shows it goes wrong with the show
https://www.thetvdb.com/?tab=series&id=274260&lid=7 (De Ridder)

The show was not added after the error. So i search again for new shows and again i get more shows and also De Ridder. It was recognized by the APIV2 and again error that the show could not add.

In the main screen i see the show De Ridder. But again same error and could not change it of 


I also a lot of Warnings, so maybe it got something to do with that.
```
2017-11-27 07:28:02 WARNING  SHOWQUEUE-ADD :: [76e0401] 329895: Data retrieved from TVDBv2 was incomplete. The indexer does not provide show information in the searched language en. Aborting: Missing attribute series_name, cant index in language: en
2017-11-26 16:58:44 WARNING  TORNADO :: [76e0401] 400 GET /api/v2/series/264586/asset/fanart?api_key=**********
2017-11-26 16:58:01 WARNING  TORNADO :: [76e0401] 400 GET /api/v2/series/321060/asset/fanart?api_key=**********
2017-11-26 16:57:18 WARNING  TORNADO :: [76e0401] 400 GET /api/v2/series/310516/asset/fanart?api_key=**********
2017-11-26 16:56:46 WARNING  TORNADO :: [76e0401] 400 GET /api/v2/series/289590/asset/fanart?api_key=**********
2017-11-26 16:55:48 WARNING  TORNADO :: [76e0401] 400 GET /api/v2/series/311904/asset/fanart?api_key=**********
2017-11-26 16:55:18 WARNING  TORNADO :: [76e0401] 400 GET /api/v2/series/313024/asset/fanart?api_key=**********
```
Found the problem. While adding the show it goes wrong with English language.  I find the show and tries to add it but then it goes wrong and while it looks like it is added, the show is later removed again.

Switching to Dutch solved the problem and show is now added.
Same problem with show: **Las chicas del cable** while choosing English. Choosing Dutch and show is added.

Now i only need to get rid of the other errors.

### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@ccbc0ce9a2d3977a71bde03e29be503464ebe3cd
**Link to Log**: https://gist.github.com/12bff2546ba06fc1f0598620c6ea402f
### ERROR
<pre>
2018-02-11 13:25:19 ERROR    SHOWQUEUE-ADD :: [ccbc0ce] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L559">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 559, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@ccbc0ce9a2d3977a71bde03e29be503464ebe3cd
**Link to Log**: https://gist.github.com/8fb5507019e7c2d9cf57c5e7c106ed59
### ERROR
<pre>
2018-02-11 17:25:26 ERROR    SHOWQUEUE-ADD :: [ccbc0ce] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L559">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 559, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@ccbc0ce9a2d3977a71bde03e29be503464ebe3cd
**Link to Log**: https://gist.github.com/bc0aa20fdbe8c3a3ccf87caf2050746c
### ERROR
<pre>
2018-02-11 22:27:06 ERROR    SHOWQUEUE-ADD :: [ccbc0ce] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L559">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 559, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@ccbc0ce9a2d3977a71bde03e29be503464ebe3cd
**Link to Log**: https://gist.github.com/caac686a0fd14c8f79c309d6541799c9
### ERROR
<pre>
2018-02-12 09:25:26 ERROR    SHOWQUEUE-ADD :: [ccbc0ce] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L559">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 559, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@ccbc0ce9a2d3977a71bde03e29be503464ebe3cd
**Link to Log**: https://gist.github.com/e0fb262d54c07d7e499ad4b2dc6a9606
### ERROR
<pre>
2018-02-12 10:25:26 ERROR    SHOWQUEUE-ADD :: [ccbc0ce] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L559">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 559, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators

Seems to be an issue with the selected locale. Please check your adding using a supported locale on tvdb.

### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@ccbc0ce9a2d3977a71bde03e29be503464ebe3cd
**Link to Log**: https://gist.github.com/7adfb69cd0e9e5eb211d01816554d776
### ERROR
<pre>
2018-02-15 18:57:34 ERROR    SHOWQUEUE-ADD :: [ccbc0ce] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L559">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 559, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@ccbc0ce9a2d3977a71bde03e29be503464ebe3cd
**Link to Log**: https://gist.github.com/43de29196334340ebeaf776f64c4f409
### ERROR
<pre>
2018-02-27 06:03:52 ERROR    SHOWQUEUE-ADD :: [ccbc0ce] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L559">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 559, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/ccbc0ce9a2d3977a71bde03e29be503464ebe3cd/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe
**Link to Log**: https://gist.github.com/3b283d0134cdaaf4b45cd4fe112e4e97
### ERROR
<pre>
2018-03-02 06:27:15 ERROR    SHOWQUEUE-ADD :: [d6eb72d] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/tvdbv2/tvdbv2_api.py#L585">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 585, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]`
**Operating System**: `Linux-4.14.12-xxxx-std-ipv6-64-x86_64-with-Ubuntu-16.04-xenial`
**Locale**: `UTF-8`
**Branch**: [master](../tree/master)
**Database**: `44.9`
**Commit**: pymedusa/Medusa@d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe
**Link to Log**: https://gist.github.com/d682d8d615ed2051ed18d58d9a88161d
### ERROR
<pre>
2018-03-26 06:02:44 ERROR    SHOWQUEUE-ADD :: [d6eb72d] 307934 Error while loading information from indexer TVDBv2. Error: 'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)'
Traceback (most recent call last):
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/show_queue.py#L379">medusa/show_queue.py</a>", line 379, in run
    s = indexer_api[self.indexer_id]
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/indexer_base.py#L398">medusa/indexers/indexer_base.py</a>", line 398, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/tvdbv2/tvdbv2_api.py#L585">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 585, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/tvdbv2/fallback.py#L110">medusa/indexers/tvdbv2/fallback.py</a>", line 110, in __call__
    return self.func(*args, **kwargs)
  File "/home/governorma/.medusa/<a href="../blob/d6eb72d4e1019e5d1286ae6ac1d7e4b318229ebe/medusa/indexers/tvdbv2/tvdbv2_api.py#L200">medusa/indexers/tvdbv2/tvdbv2_api.py</a>", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/307934 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


### INFO
**Python Version**: `2.7.13 (default, Nov 24 2017, 17:33:09) [GCC 6.3.0 20170516]`
**Operating System**: `Linux-4.9.0-6-amd64-x86_64-with-debian-9.4`
**Locale**: `UTF-8`
**Branch**: [develop](../tree/develop)
**Database**: `44.11`
**Commit**: pymedusa/Medusa@55b472b377f5e6c89142eb3c211602ceb1084f3b
**Link to Log**: https://gist.github.com/e3efd8e9a77d70b3cf486a7505754ede
### ERROR
<pre>
2018-06-04 22:42:39 ERROR    SHOWQUEUE-ADD :: [55b472b] 329749 Error while loading information from indexer TVDBv2. Error: u'Show search failed in getting a result with reason: HTTPError\n404 Client Error: Not Found for url: https://api.thetvdb.com/series/329749 (404)'
Traceback (most recent call last):
  File "/home8/**********/.apps/medusa/medusa/medusa/show_queue.py", line 381, in run
    s = indexer_api[self.indexer_id]
  File "/home8/**********/.apps/medusa/medusa/medusa/indexers/indexer_base.py", line 399, in __getitem__
    self._get_show_data(key, self.config['language'])
  File "/home8/**********/.apps/medusa/medusa/medusa/indexers/tvdbv2/tvdbv2_api.py", line 585, in _get_show_data
    series_info = self._get_show_by_id(sid, request_language=get_show_in_language)
  File "/home8/**********/.apps/medusa/medusa/medusa/indexers/tvdbv2/fallback.py", line 112, in __call__
    return self.func(*args, **kwargs)
  File "/home8/**********/.apps/medusa/medusa/medusa/indexers/tvdbv2/tvdbv2_api.py", line 200, in _get_show_by_id
    reason=error.reason, status=error.status
IndexerShowNotFound: Show search failed in getting a result with reason: HTTPError
404 Client Error: Not Found for url: https://api.thetvdb.com/series/329749 (404)
</pre>
---
_STAFF NOTIFIED_: @pymedusa/support @pymedusa/moderators


Resolving patch:
diff --git a/medusa/show_queue.py b/medusa/show_queue.py
--- a/medusa/show_queue.py
+++ b/medusa/show_queue.py
@@ -58,6 +58,7 @@
     IndexerException,
     IndexerShowAllreadyInLibrary,
     IndexerShowIncomplete,
+    IndexerShowNotFound,
     IndexerShowNotFoundInLanguage,
 )
 from medusa.tv import Series
@@ -423,12 +424,12 @@ def run(self):
             # Check if we can already find this show in our current showList.
             try:
                 check_existing_shows(s, self.indexer)
-            except IndexerShowAllreadyInLibrary as e:
+            except IndexerShowAllreadyInLibrary as error:
                 logger.log(u"Could not add the show %s, as it already is in your library."
-                           u" Error: %s" % (s['seriesname'], e.message), logger.WARNING)
+                           u" Error: %s" % (s['seriesname'], error), logger.WARNING)
                 ui.notifications.error(
                     'Unable to add show',
-                    'reason: {0}' .format(e.message)
+                    'reason: {0}' .format(error)
                 )
                 self._finishEarly()
 
@@ -437,36 +438,48 @@ def run(self):
                 return
 
         # TODO: Add more specific indexer exceptions, that should provide the user with some accurate feedback.
-        except IndexerShowIncomplete as e:
+        except IndexerShowNotFound as error:
+            logger.log(u'{id}: Unable to look up show in {path} using id {id} on {indexer}. '
+                       u'Delete metadata files from the folder and try adding it again.'.format(
+                           id=self.indexer_id, path=self.showDir, indexer=indexerApi(self.indexer).name),
+                       logger.WARNING)
+            ui.notifications.error(
+                u'Unable to add show',
+                u'Unable to look up the show in {0} on {1} using ID {2}. '
+                u'Delete metadata files from the folder and try adding it again.'.
+                format(self.showDir, indexerApi(self.indexer).name, self.indexer_id)
+            )
+            self._finishEarly()
+            return
+        except IndexerShowIncomplete as error:
             logger.log(u"%s Error while loading information from indexer %s. "
-                       u"Error: %s" % (self.indexer_id, indexerApi(self.indexer).name, e.message), logger.WARNING)
+                       u"Error: %s" % (self.indexer_id, indexerApi(self.indexer).name, error), logger.WARNING)
             ui.notifications.error(
                 u"Unable to add show",
                 u"Unable to look up the show in {0} on {1} using ID {2} "
                 u"Reason: {3}"
-                .format(self.showDir, indexerApi(self.indexer).name, self.indexer_id, e.message)
+                .format(self.showDir, indexerApi(self.indexer).name, self.indexer_id, error)
             )
             self._finishEarly()
             return
-        except IndexerShowNotFoundInLanguage as e:
+        except IndexerShowNotFoundInLanguage as error:
             logger.log(u'{id}: Data retrieved from {indexer} was incomplete. The indexer does not provide '
                        u'show information in the searched language {language}. Aborting: {error_msg}'.format
                        (id=self.indexer_id, indexer=indexerApi(self.indexer).name,
-                        language=e.language, error_msg=e.message), logger.WARNING)
+                        language=error.language, error_msg=error), logger.WARNING)
             ui.notifications.error(u'Error adding show!',
                                    u'Unable to add show {indexer_id} on {indexer} with this language: {language}'.
                                    format(indexer_id=self.indexer_id,
                                           indexer=indexerApi(self.indexer).name,
-                                          language=e.language))
+                                          language=error.language))
             self._finishEarly()
             return
-        except Exception as e:
-            logger.log(u"%s Error while loading information from indexer %s. "
-                       u"Error: %r" % (self.indexer_id, indexerApi(self.indexer).name, e.message), logger.ERROR)
+        except Exception as error:
+            logger.log(u'%s Error while loading information from indexer %s. '
+                       u'Error: %r' % (self.indexer_id, indexerApi(self.indexer).name, error), logger.ERROR)
             ui.notifications.error(
-                u"Unable to add show",
-                u"Unable to look up the show in {0} on {1} using ID {2}, not using the NFO. "
-                u"Delete .nfo and try adding manually again.".
+                u'Unable to add show',
+                u'Unable to look up the show in {0} on {1} using ID {2}.'.
                 format(self.showDir, indexerApi(self.indexer).name, self.indexer_id)
             )
             self._finishEarly()
@@ -508,10 +521,10 @@ def run(self):
             # if self.show.classification and "sports" in self.show.classification.lower():
             #     self.show.sports = 1
 
-        except IndexerException as e:
+        except IndexerException as error:
             logger.log(
-                u"Unable to add show due to an error with " + indexerApi(self.indexer).name + ": " + e.message,
-                logger.ERROR)
+                u"Unable to add show due to an error with {indexer}: {error}".format(
+                    indexer=indexerApi(self.indexer).name, error=error), logger.ERROR)
             if self.show:
                 ui.notifications.error(
                     u"Unable to add {series_name} due to an error with {indexer_name}".format(
@@ -531,8 +544,8 @@ def run(self):
             self._finishEarly()
             return
 
-        except Exception as e:
-            logger.log(u"Error trying to add show: " + e.message, logger.ERROR)
+        except Exception as error:
+            logger.log(u"Error trying to add show: {0}".format(error), logger.ERROR)
             logger.log(traceback.format_exc(), logger.DEBUG)
             self._finishEarly()
             raise
@@ -540,15 +553,15 @@ def run(self):
         logger.log(u"Retrieving show info from IMDb", logger.DEBUG)
         try:
             self.show.load_imdb_info()
-        except ImdbAPIError as e:
-            logger.log(u"Something wrong on IMDb api: " + e.message, logger.INFO)
-        except Exception as e:
-            logger.log(u"Error loading IMDb info: " + e.message, logger.ERROR)
+        except ImdbAPIError as error:
+            logger.log(u"Something wrong on IMDb api: {0}".format(error), logger.INFO)
+        except Exception as error:
+            logger.log(u"Error loading IMDb info: {0}".format(error), logger.ERROR)
 
         try:
             self.show.save_to_db()
-        except Exception as e:
-            logger.log(u"Error saving the show to the database: " + e.message, logger.ERROR)
+        except Exception as error:
+            logger.log(u"Error saving the show to the database: {0}".format(error), logger.ERROR)
             logger.log(traceback.format_exc(), logger.DEBUG)
             self._finishEarly()
             raise
@@ -558,10 +571,9 @@ def run(self):
 
         try:
             self.show.load_episodes_from_indexer(tvapi=indexer_api)
-        except Exception as e:
-            logger.log(
-                u"Error with " + indexerApi(self.show.indexer).name + u", not creating episode list: " + e.message,
-                logger.ERROR)
+        except Exception as error:
+            logger.log(u"Error with {indexer}, not creating episode list: {error}".format(
+                indexer=indexerApi(self.show.indexer).name, error=error), logger.ERROR)
             logger.log(traceback.format_exc(), logger.DEBUG)
 
         # update internal name cache
@@ -569,8 +581,8 @@ def run(self):
 
         try:
             self.show.load_episodes_from_dir()
-        except Exception as e:
-            logger.log(u"Error searching dir for episodes: " + e.message, logger.ERROR)
+        except Exception as error:
+            logger.log(u"Error searching dir for episodes: {0}".format(error), logger.ERROR)
             logger.log(traceback.format_exc(), logger.DEBUG)
 
         # if they set default ep status to WANTED then run the backlog to search for episodes
@@ -642,9 +654,9 @@ def run(self):
 
             # Load XEM data to DB for show
             scene_numbering.xem_refresh(self.show)
-        except Exception as e:
+        except Exception as error:
             logger.log(u"{id}: Error while refreshing show {show}. Error: {error_msg}".format
-                       (id=self.show.series_id, show=self.show.name, error_msg=e.message), logger.ERROR)
+                       (id=self.show.series_id, show=self.show.name, error_msg=error), logger.ERROR)
 
         self.finish()
 
@@ -728,63 +740,63 @@ def run(self):
             # Let's make sure we refresh the indexer_api object attached to the show object.
             self.show.create_indexer()
             self.show.load_from_indexer()
-        except IndexerError as e:
+        except IndexerError as error:
             logger.log(u'{id}: Unable to contact {indexer}. Aborting: {error_msg}'.format
                        (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name,
-                        error_msg=e.message), logger.WARNING)
+                        error_msg=error), logger.WARNING)
             return
-        except IndexerAttributeNotFound as e:
+        except IndexerAttributeNotFound as error:
             logger.log(u'{id}: Data retrieved from {indexer} was incomplete. Aborting: {error_msg}'.format
                        (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name,
-                        error_msg=e.message), logger.WARNING)
+                        error_msg=error), logger.WARNING)
             return
-        except IndexerShowNotFoundInLanguage as e:
+        except IndexerShowNotFoundInLanguage as error:
             logger.log(u'{id}: Data retrieved from {indexer} was incomplete. The indexer does not provide '
                        u'show information in the searched language {language}. Aborting: {error_msg}'.format
                        (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name,
-                        language=e.language, error_msg=e.message), logger.WARNING)
+                        language=error.language, error_msg=error), logger.WARNING)
             ui.notifications.error(u'Error changing language show!',
                                    u'Unable to change language for show {show_name} on {indexer} to language: {language}'.
                                    format(show_name=self.show.name,
                                           indexer=indexerApi(self.show.indexer).name,
-                                          language=e.language))
+                                          language=error.language))
             return
 
         logger.log(u'{id}: Retrieving show info from IMDb'.format(id=self.show.series_id), logger.DEBUG)
         try:
             self.show.load_imdb_info()
-        except ImdbAPIError as e:
+        except ImdbAPIError as error:
             logger.log(u'{id}: Something wrong on IMDb api: {error_msg}'.format
-                       (id=self.show.series_id, error_msg=e.message), logger.INFO)
-        except Exception as e:
+                       (id=self.show.series_id, error_msg=error), logger.INFO)
+        except Exception as error:
             logger.log(u'{id}: Error loading IMDb info: {error_msg}'.format
-                       (id=self.show.series_id, error_msg=e.message), logger.WARNING)
+                       (id=self.show.series_id, error_msg=error), logger.WARNING)
 
         # have to save show before reading episodes from db
         try:
             logger.log(u'{id}: Saving new IMDb show info to database'.format(id=self.show.series_id), logger.DEBUG)
             self.show.save_to_db()
-        except Exception as e:
+        except Exception as error:
             logger.log(u"{id}: Error saving new IMDb show info to database: {error_msg}".format
-                       (id=self.show.series_id, error_msg=e.message), logger.WARNING)
+                       (id=self.show.series_id, error_msg=error), logger.WARNING)
             logger.log(traceback.format_exc(), logger.ERROR)
 
         # get episode list from DB
         try:
             episodes_from_db = self.show.load_episodes_from_db()
-        except IndexerException as e:
+        except IndexerException as error:
             logger.log(u'{id}: Unable to contact {indexer}. Aborting: {error_msg}'.format
                        (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name,
-                        error_msg=e.message), logger.WARNING)
+                        error_msg=error), logger.WARNING)
             return
 
         # get episode list from the indexer
         try:
             episodes_from_indexer = self.show.load_episodes_from_indexer()
-        except IndexerException as e:
+        except IndexerException as error:
             logger.log(u'{id}: Unable to get info from {indexer}. The show info will not be refreshed. '
                        u'Error: {error_msg}'.format
-                       (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name, error_msg=e.message),
+                       (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name, error_msg=error),
                        logger.WARNING)
             episodes_from_indexer = None
 
@@ -818,9 +830,9 @@ def run(self):
         try:
             logger.log(u'{id}: Saving all updated show info to database'.format(id=self.show.series_id), logger.DEBUG)
             self.show.save_to_db()
-        except Exception as e:
+        except Exception as error:
             logger.log(u'{id}: Error saving all updated show info to database: {error_msg}'.format
-                       (id=self.show.series_id, error_msg=e.message), logger.WARNING)
+                       (id=self.show.series_id, error_msg=error), logger.WARNING)
             logger.log(traceback.format_exc(), logger.ERROR)
 
         # Replace the images in cache
@@ -865,52 +877,52 @@ def run(self):
             # Let's make sure we refresh the indexer_api object attached to the show object.
             self.show.create_indexer()
             self.show.load_from_indexer()
-        except IndexerError as e:
+        except IndexerError as error:
             logger.log(u'{id}: Unable to contact {indexer}. Aborting: {error_msg}'.format
                        (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name,
-                        error_msg=e.message), logger.WARNING)
+                        error_msg=error), logger.WARNING)
             return
-        except IndexerAttributeNotFound as e:
+        except IndexerAttributeNotFound as error:
             logger.log(u'{id}: Data retrieved from {indexer} was incomplete. Aborting: {error_msg}'.format
                        (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name,
-                        error_msg=e.message), logger.WARNING)
+                        error_msg=error), logger.WARNING)
             return
 
         logger.log(u'{id}: Retrieving show info from IMDb'.format(id=self.show.series_id), logger.DEBUG)
         try:
             self.show.load_imdb_info()
-        except ImdbAPIError as e:
+        except ImdbAPIError as error:
             logger.log(u'{id}: Something wrong on IMDb api: {error_msg}'.format
-                       (id=self.show.series_id, error_msg=e.message), logger.INFO)
-        except Exception as e:
+                       (id=self.show.series_id, error_msg=error), logger.INFO)
+        except Exception as error:
             logger.log(u'{id}: Error loading IMDb info: {error_msg}'.format
-                       (id=self.show.series_id, error_msg=e.message), logger.WARNING)
+                       (id=self.show.series_id, error_msg=error), logger.WARNING)
 
         # have to save show before reading episodes from db
         try:
             logger.log(u'{id}: Saving new IMDb show info to database'.format(id=self.show.series_id), logger.DEBUG)
             self.show.save_to_db()
-        except Exception as e:
+        except Exception as error:
             logger.log(u"{id}: Error saving new IMDb show info to database: {error_msg}".format
-                       (id=self.show.series_id, error_msg=e.message), logger.WARNING)
+                       (id=self.show.series_id, error_msg=error), logger.WARNING)
             logger.log(traceback.format_exc(), logger.ERROR)
 
         # get episode list from DB
         try:
             episodes_from_db = self.show.load_episodes_from_db(self.seasons)
-        except IndexerException as e:
+        except IndexerException as error:
             logger.log(u'{id}: Unable to contact {indexer}. Aborting: {error_msg}'.format
                        (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name,
-                        error_msg=e.message), logger.WARNING)
+                        error_msg=error), logger.WARNING)
             return
 
         # get episode list from the indexer
         try:
             episodes_from_indexer = self.show.load_episodes_from_indexer(self.seasons)
-        except IndexerException as e:
+        except IndexerException as error:
             logger.log(u'{id}: Unable to get info from {indexer}. The show info will not be refreshed. '
                        u'Error: {error_msg}'.format
-                       (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name, error_msg=e.message),
+                       (id=self.show.series_id, indexer=indexerApi(self.show.indexer).name, error_msg=error),
                        logger.WARNING)
             episodes_from_indexer = None
 
@@ -944,9 +956,9 @@ def run(self):
         try:
             logger.log(u'{id}: Saving all updated show info to database'.format(id=self.show.series_id), logger.DEBUG)
             self.show.save_to_db()
-        except Exception as e:
+        except Exception as error:
             logger.log(u'{id}: Error saving all updated show info to database: {error_msg}'.format
-                       (id=self.show.series_id, error_msg=e.message), logger.WARNING)
+                       (id=self.show.series_id, error_msg=error), logger.WARNING)
             logger.log(traceback.format_exc(), logger.ERROR)
 
         logger.log(u'{id}: Finished update of {show}'.format
@@ -974,10 +986,10 @@ def run(self):
         if app.USE_TRAKT:
             try:
                 app.trakt_checker_scheduler.action.remove_show_trakt_library(self.show)
-            except TraktException as e:
+            except TraktException as error:
                 logger.log(u'{id}: Unable to delete show {show} from Trakt. '
                            u'Please remove manually otherwise it will be added again. Error: {error_msg}'.format
-                           (id=self.show.series_id, show=self.show.name, error_msg=e.message), logger.WARNING)
+                           (id=self.show.series_id, show=self.show.name, error_msg=error), logger.WARNING)
 
         self.show.delete_show(full=self.full)
 


Test patch: