forked from tanner/qotnews
Handle Lobsters comment parsing TypeErrors
Too lazy to debug this:
2023-08-29 12:56:35,111 - root - INFO - Updating lobsters story: yktkwr, index: 55
Traceback (most recent call last):
File "src/gevent/greenlet.py", line 854, in gevent._gevent_cgreenlet.Greenlet.run
File "/home/tanner/qotnews/apiserver/server.py", line 194, in feed_thread
valid = feed.update_story(story)
File "/home/tanner/qotnews/apiserver/feed.py", line 74, in update_story
res = lobsters.story(story['ref'])
File "/home/tanner/qotnews/apiserver/feeds/lobsters.py", line 103, in story
s['comments'] = iter_comments(r['comments'])
File "/home/tanner/qotnews/apiserver/feeds/lobsters.py", line 76, in iter_comments
parent_stack = parent_stack[:indent-1]
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
2023-08-29T12:56:35Z <Greenlet at 0x7f92ad840ae0: feed_thread> failed with TypeError
This commit is contained in:
@@ -100,7 +100,13 @@ def story(ref):
|
|||||||
s['title'] = r.get('title', '')
|
s['title'] = r.get('title', '')
|
||||||
s['link'] = SITE_LINK(ref)
|
s['link'] = SITE_LINK(ref)
|
||||||
s['url'] = r.get('url', '')
|
s['url'] = r.get('url', '')
|
||||||
s['comments'] = iter_comments(r['comments'])
|
|
||||||
|
try:
|
||||||
|
s['comments'] = iter_comments(r['comments'])
|
||||||
|
except TypeError:
|
||||||
|
logging.exception('TypeError iterating lobsters comments, skipping article.')
|
||||||
|
return False
|
||||||
|
|
||||||
s['num_comments'] = r['comment_count']
|
s['num_comments'] = r['comment_count']
|
||||||
|
|
||||||
if 'description' in r and r['description']:
|
if 'description' in r and r['description']:
|
||||||
|
|||||||
Reference in New Issue
Block a user