Repository: Flexget/Flexget

Issue:
Still - 'NoneType' object has no attribute 'find' - latest git
manuel@PC-Manuel ~/flexget-dev $ bin/flexget  -V
1.2.425.dev
Latest release: 1.2.424
manuel@PC-Manuel ~/flexget-dev $ 

2016-01-09 22:31 VERBOSE  imdb_lookup   HD720P          Parsing imdb for `Sinatra.-.All.or.Nothing.at.all.Complete.German.DOKU.720p.WebHD.x264-RAiNDEER`
2016-01-09 22:31 CRITICAL task          HD720P          BUG: Unhandled error in plugin proper_movies: 'NoneType' object has no attribute 'find'
Traceback (most recent call last):
  File "/home/manuel/flexget-dev/flexget/task.py", line 438, in **run_plugin
    return method(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/event.py", line 22, in __call**
    return self.func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/plugins/filter/proper_movies.py", line 95, in on_task_filter
    imdb_id = imdb_lookup.imdb_id_lookup(movie_title=parser.name, raw_title=entry['title'])
  File "/home/manuel/flexget-dev/flexget/utils/database.py", line 30, in wrapper
    return func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/plugins/metainfo/imdb_lookup.py", line 273, in imdb_id_lookup
    self.lookup(fake_entry)
  File "/home/manuel/flexget-dev/flexget/plugin.py", line 124, in wrapped_func
    return func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/utils/database.py", line 30, in wrapper
    return func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/plugins/metainfo/imdb_lookup.py", line 374, in lookup
    movie = self._parse_new_movie(entry['imdb_url'], session)
  File "/home/manuel/flexget-dev/flexget/plugins/metainfo/imdb_lookup.py", line 405, in _parse_new_movie
    parser.parse(imdb_url)
  File "/home/manuel/flexget-dev/flexget/utils/imdb.py", line 245, in parse
    year = title_overview.find(attrs={'class': 'nobr'}).find('a', href=True)
AttributeError: 'NoneType' object has no attribute 'find'

Still - 'NoneType' object has no attribute 'find' - latest git
manuel@PC-Manuel ~/flexget-dev $ bin/flexget  -V
1.2.425.dev
Latest release: 1.2.424
manuel@PC-Manuel ~/flexget-dev $ 

2016-01-09 22:31 VERBOSE  imdb_lookup   HD720P          Parsing imdb for `Sinatra.-.All.or.Nothing.at.all.Complete.German.DOKU.720p.WebHD.x264-RAiNDEER`
2016-01-09 22:31 CRITICAL task          HD720P          BUG: Unhandled error in plugin proper_movies: 'NoneType' object has no attribute 'find'
Traceback (most recent call last):
  File "/home/manuel/flexget-dev/flexget/task.py", line 438, in **run_plugin
    return method(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/event.py", line 22, in __call**
    return self.func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/plugins/filter/proper_movies.py", line 95, in on_task_filter
    imdb_id = imdb_lookup.imdb_id_lookup(movie_title=parser.name, raw_title=entry['title'])
  File "/home/manuel/flexget-dev/flexget/utils/database.py", line 30, in wrapper
    return func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/plugins/metainfo/imdb_lookup.py", line 273, in imdb_id_lookup
    self.lookup(fake_entry)
  File "/home/manuel/flexget-dev/flexget/plugin.py", line 124, in wrapped_func
    return func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/utils/database.py", line 30, in wrapper
    return func(_args, *_kwargs)
  File "/home/manuel/flexget-dev/flexget/plugins/metainfo/imdb_lookup.py", line 374, in lookup
    movie = self._parse_new_movie(entry['imdb_url'], session)
  File "/home/manuel/flexget-dev/flexget/plugins/metainfo/imdb_lookup.py", line 405, in _parse_new_movie
    parser.parse(imdb_url)
  File "/home/manuel/flexget-dev/flexget/utils/imdb.py", line 245, in parse
    year = title_overview.find(attrs={'class': 'nobr'}).find('a', href=True)
AttributeError: 'NoneType' object has no attribute 'find'



Discussion:
for now you can just overwrite your flexget_1.2.424_path/flexget/utils/imdb.py with [this](https://github.com/Flexget/Flexget/blob/develop/flexget/utils/imdb.py) as I did.

for now you can just overwrite your flexget_1.2.424_path/flexget/utils/imdb.py with [this](https://github.com/Flexget/Flexget/blob/develop/flexget/utils/imdb.py) as I did.


Resolving patch:
diff --git a/flexget/utils/imdb.py b/flexget/utils/imdb.py
--- a/flexget/utils/imdb.py
+++ b/flexget/utils/imdb.py
@@ -8,7 +8,7 @@
 from flexget.utils.soup import get_soup
 from flexget.utils.requests import Session
 from flexget.utils.tools import str_to_int
-from flexget.plugin import get_plugin_by_name
+from flexget.plugin import get_plugin_by_name, PluginError
 
 log = logging.getLogger('utils.imdb')
 # IMDb delivers a version of the page which is unparsable to unknown (and some known) user agents, such as requests'
@@ -235,16 +235,20 @@ def parse(self, imdb_id):
 
         title_overview = soup.find('div', attrs={'class': 'title-overview'})
         if not title_overview:
-            log.error('IMDB parser needs updating, imdb format changed.')
-            return
+            raise PluginError('IMDB parser needs updating, imdb format changed. Please report on Github.')
 
         # Parse stuff from the title-overview section
-        name_elem = title_overview.find(itemprop='name')
-        self.name = name_elem.contents[0]
-
-        year = title_overview.find(attrs={'class': 'nobr'}).find('a', href=True)
-        if year:
-            self.year = int(year.text)
+        name_elem = title_overview.find('h1')
+        if name_elem and name_elem.find(itemprop='name', text=True):
+            self.name = name_elem.find(itemprop='name', text=True).text.strip()
+        else:
+            log.error('Possible IMDB parser needs updating, Please report on Github.')
+            raise PluginError('Unable to set imdb_name for %s from %s' % (self.imdb_id, self.url))
+        year = title_overview.find(class_='nobr')
+        if year and not year.a:
+            self.year = int(year.text.strip('()'))
+        elif year and year.a:
+            self.year = int(year.a.text)
         else:
             log.debug('No year found for %s' % self.imdb_id)
 


Test patch:
diff --git a/tests/cassettes/test_imdb_parser.TestImdbParser.test_no_year b/tests/cassettes/test_imdb_parser.TestImdbParser.test_no_year
new file mode 100644
--- /dev/null
+++ b/tests/cassettes/test_imdb_parser.TestImdbParser.test_no_year
@@ -0,0 +1,310 @@
+interactions:
+- request:
+    body: null
+    headers:
+      Accept: ['*/*']
+      Accept-Encoding: ['gzip, deflate']
+      Accept-Language: [!!python/unicode 'en-US,en;q=0.8']
+      Connection: [keep-alive]
+      Cookie: [session-id=000-0000000-0000000; uu=BCYlQOSt5-VXl5G9R_pN8SECjqFu-GtnUarbrsqL0Xo_TBZPj73bxnGFn23jnhMcE70i3OdiZwiE%0D%0Af74y4gLQZImTTY-Wv2ksx_NkBwRnOEvFMs-2nnOSMY-T6fmQ27e3rQvJD5n_IBoqlND-xs1ZSogA%0D%0AFenG1R6PZIKCcWa7849LlVZ6F_LKK2zMNLXSfzdwPwrr0x9Xkg_aIErIutamA1JzyHB23gt3x8i-%0D%0AqsI-73mCISa7vt5onTyBRqwuZkt2FlIjh1JHXho9yh6w-OY07EsmIevWs8ycnhChkFdskTCuBlY%0D%0A;
+          session-id-time=1610014392]
+      User-Agent: [!!python/unicode 'Python-urllib/2.6']
+    method: GET
+    uri: http://www.imdb.com/title/tt3303790/
+  response:
+    body:
+      string: !!binary |
+        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
+    headers:
+      content-encoding: [gzip]
+      content-language: [en-US]
+      content-security-policy: [frame-ancestors 'self' imdb.com *.imdb.com *.media-imdb.com
+          withoutabox.com *.withoutabox.com amazon.com *.amazon.com amazon.co.uk *.amazon.co.uk
+          amazon.de *.amazon.de translate.google.com images.google.com www.google.com
+          www.google.co.uk search.aol.com bing.com www.bing.com]
+      content-type: [text/html;charset=UTF-8]
+      date: ['Mon, 11 Jan 2016 03:19:25 GMT']
+      p3p: ['policyref="http://i.imdb.com/images/p3p.xml",CP="CAO DSP LAW CUR ADM
+          IVAo IVDo CONo OTPo OUR DELi PUBi OTRi BUS PHY ONL UNI PUR FIN COM NAV INT
+          DEM CNT STA HEA PRE LOC GOV OTC "']
+      server: [Server]
+      vary: ['Accept-Encoding,User-Agent']
+      x-frame-options: [SAMEORIGIN]
+    status: {code: 200, message: OK}
+version: 1
diff --git a/tests/test_imdb_parser.py b/tests/test_imdb_parser.py
--- a/tests/test_imdb_parser.py
+++ b/tests/test_imdb_parser.py
@@ -56,3 +56,12 @@ def test_no_plot(self):
         assert parser.name == 'Goodbye Mothers'
         # There is no plot
         assert not parser.plot_outline
+
+    @use_vcr
+    def test_no_year(self):
+        # Make sure parser doesn't crash for movies with no year
+        parser = ImdbParser()
+        parser.parse('tt3303790')
+        assert parser.name == 'Master of None'
+        # There is no year
+        assert not parser.year
\ No newline at end of file