object has no attribute 'enclosures'

Issue #36 wontfix
Oleg Danilov created an issue

YaRSS2 doesn't work with the following error message:

#!

c:\program files (x86)\deluge\deluge-1.3.12-py2.7.egg\deluge\ui\gtkui\listview.py:250: GtkWarning: gtk_tree_model_sort_set_sort_column_id: assertion `header != NULL' failed
Traceback (most recent call last):
  File "c:\users\d\appdata\roaming\deluge\plugins\yarss2-1.4.3-py2.7.egg\yarss2\rssfeed_scheduler.py", line 89, in rssfeed_update_handler_safe
    return self.rssfeed_update_handler(rssfeed_key=rssfeed_key, subscription_key=subscription_key)
  File "c:\users\d\appdata\roaming\deluge\plugins\yarss2-1.4.3-py2.7.egg\yarss2\rssfeed_scheduler.py", line 107, in rssfeed_update_handler
    subscription_key=subscription_key)
  File "c:\users\d\appdata\roaming\deluge\plugins\yarss2-1.4.3-py2.7.egg\yarss2\rssfeed_handling.py", line 304, in fetch_feed_torrents
    self.fetch_feed(subscription_data, rssfeed_data, fetch_data)
  File "c:\users\d\appdata\roaming\deluge\plugins\yarss2-1.4.3-py2.7.egg\yarss2\rssfeed_handling.py", line 344, in fetch_feed
    user_agent=fetch_data["user_agent"])
  File "c:\users\d\appdata\roaming\deluge\plugins\yarss2-1.4.3-py2.7.egg\yarss2\rssfeed_handling.py", line 147, in get_rssfeed_parsed
    link = self.get_link(item)
  File "c:\users\d\appdata\roaming\deluge\plugins\yarss2-1.4.3-py2.7.egg\yarss2\rssfeed_handling.py", line 50, in get_link
    if len(item.enclosures) > 0 and "href" in item.enclosures[0]:
  File "c:\users\d\appdata\roaming\deluge\plugins\yarss2-1.4.3-py2.7.egg\yarss2\lib\feedparser\feedparser.py", line 400, in __getattr__
    raise AttributeError, "object has no attribute '%s'" % key
AttributeError: object has no attribute 'enclosures'

Comments (5)

  1. Gabriel Krell

    Also having the same problem, rather out of the blue, on Ubuntu 16.04.5 LTS. I think this is happening every time it tries to get the latest feed. Will do some digging, but I suspect it's choking on a malformed (empty?) RSS feed. Here's an example log.

    Jul 24 14:00:40 dormserver systemd[1]: Started Deluge Bittorrent Client Daemon.
    Jul 24 14:00:57 dormserver deluged[28243]: Traceback (most recent call last):
    Jul 24 14:00:57 dormserver deluged[28243]:   File "/home/deluge/.config/deluge/plugins/YaRSS2-1.4.3-py2.7.egg/yarss2/rssfeed_scheduler.py", line 89, in rssfeed_update_handler_safe
    Jul 24 14:00:57 dormserver deluged[28243]:     return self.rssfeed_update_handler(rssfeed_key=rssfeed_key, subscription_key=subscription_key)
    Jul 24 14:00:57 dormserver deluged[28243]:   File "/home/deluge/.config/deluge/plugins/YaRSS2-1.4.3-py2.7.egg/yarss2/rssfeed_scheduler.py", line 107, in rssfeed_update_handler
    Jul 24 14:00:57 dormserver deluged[28243]:     subscription_key=subscription_key)
    Jul 24 14:00:57 dormserver deluged[28243]:   File "/home/deluge/.config/deluge/plugins/YaRSS2-1.4.3-py2.7.egg/yarss2/rssfeed_handling.py", line 304, in fetch_feed_torrents
    Jul 24 14:00:57 dormserver deluged[28243]:     self.fetch_feed(subscription_data, rssfeed_data, fetch_data)
    Jul 24 14:00:57 dormserver deluged[28243]:   File "/home/deluge/.config/deluge/plugins/YaRSS2-1.4.3-py2.7.egg/yarss2/rssfeed_handling.py", line 344, in fetch_feed
    Jul 24 14:00:57 dormserver deluged[28243]:     user_agent=fetch_data["user_agent"])
    Jul 24 14:00:57 dormserver deluged[28243]:   File "/home/deluge/.config/deluge/plugins/YaRSS2-1.4.3-py2.7.egg/yarss2/rssfeed_handling.py", line 147, in get_rssfeed_parsed
    Jul 24 14:00:57 dormserver deluged[28243]:     link = self.get_link(item)
    Jul 24 14:00:57 dormserver deluged[28243]:   File "/home/deluge/.config/deluge/plugins/YaRSS2-1.4.3-py2.7.egg/yarss2/rssfeed_handling.py", line 50, in get_link
    Jul 24 14:00:57 dormserver deluged[28243]:     if len(item.enclosures) > 0 and "href" in item.enclosures[0]:
    Jul 24 14:00:57 dormserver deluged[28243]:   File "/home/deluge/.config/deluge/plugins/YaRSS2-1.4.3-py2.7.egg/yarss2/lib/feedparser/feedparser.py", line 400, in __getattr__
    Jul 24 14:00:57 dormserver deluged[28243]:     raise AttributeError, "object has no attribute '%s'" % key
    Jul 24 14:00:57 dormserver deluged[28243]: AttributeError: object has no attribute 'enclosures'
    
  2. Bendik Opstad

    Looks like an issue the feedparser library, possibly due to malformed RSS.

    To fix this I’ll need an example RSS feed producing this issue.

  3. Gabriel Krell

    Thanks Bendik. Does YaRSS2 have any debug functionality for saving an RSS feed? Mine is a private feed, so it might be running into authentication trouble or something.

  4. Bendik repo owner

    @Gabriel Krell There is no functionality to save the feed, but it might be a good idea.

    Btw, YaRSS2 v2 which runs only on Deluge v2 now uses atoma instead of feedparser, so this bug is probably no longer relevant.

  5. Log in to comment