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', '') | ||||||
|  |  | ||||||
|  |     try: | ||||||
|         s['comments'] = iter_comments(r['comments']) |         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