rubys / venus

Planet Venus is an awesome ‘river of news’ feed reader. It downloads news feeds published by web sites and aggregates their content together into a single combined feed, latest news first.
http://intertwingly.net/code/venus/docs/index.html
Other
273 stars 99 forks source link

Check for planet_name #6

Closed ext closed 13 years ago

ext commented 13 years ago

Ran into an issue when a feed (http://sandervanrossen.blogspot.com/feeds/posts/default) didn't have a <link rel="self" ... /> matching the original url, and had no name was set in config.ini

INFO:planet.runner:Loading cached data
Traceback (most recent call last):
  File "venus/planet.py", line 89, in <module>
    splice.apply(doc.toxml('utf-8'))
  File "/var/www/[...]/venus/planet/splice.py", line 142, in apply
    output_file = shell.run(template_file, doc)
  File "/var/www/[...]/venus/planet/shell/__init__.py", line 66, in run
    module.run(template_resolved, doc, output_file, options)
  File "/var/www/[...]/venus/planet/shell/_genshi.py", line 102, in run
    entry.source.config = find_config(config, entry.source)
  File "/var/www/[...]/venus/planet/shell/_genshi.py", line 35, in find_config
    norm(config.parser.get(sub, 'name')) == feed.planet_name:
  File "/var/www/[...]/venus/planet/vendor/feedparser.py", line 287, in __getattr__
    raise AttributeError, "object has no attribute '%s'" % key
AttributeError: object has no attribute 'planet_name'

This commit fixes this issue by first checking if planet_name is available. In addition it writes to the log if it fails to find any configuration.