Alert on story update error

This commit is contained in:
Tanner Collin 2024-03-16 20:41:24 +00:00
parent ab92bd5441
commit 249a616531
3 changed files with 24 additions and 11 deletions

View File

@ -68,16 +68,21 @@ def get_content_type(url):
def update_story(story, is_manual=False): def update_story(story, is_manual=False):
res = {} res = {}
if story['source'] == 'hackernews': try:
res = hackernews.story(story['ref']) if story['source'] == 'hackernews':
elif story['source'] == 'lobsters': res = hackernews.story(story['ref'])
res = lobsters.story(story['ref']) elif story['source'] == 'lobsters':
elif story['source'] == 'reddit': res = lobsters.story(story['ref'])
res = reddit.story(story['ref']) elif story['source'] == 'reddit':
elif story['source'] == 'tildes': res = reddit.story(story['ref'])
res = tildes.story(story['ref']) elif story['source'] == 'tildes':
elif story['source'] == 'manual': res = tildes.story(story['ref'])
res = manual.story(story['ref']) elif story['source'] == 'manual':
res = manual.story(story['ref'])
except BaseException as e:
utils.alert_tanner('Problem updating {} story, ref {}: {}'.format(story['source'], story['ref'], str(e)))
logging.exception(e)
return False
if res: if res:
story.update(res) # join dicts story.update(res) # join dicts

View File

@ -87,7 +87,7 @@ def story(ref):
s = {} s = {}
try: try:
s['author'] = r['submitter_user']['username'] s['author'] = r['submitter_user']
s['author_link'] = SITE_AUTHOR_LINK(s['author']) s['author_link'] = SITE_AUTHOR_LINK(s['author'])
except KeyError: except KeyError:
s['author'] = '' s['author'] = ''

View File

@ -8,6 +8,14 @@ import string
from bleach.sanitizer import Cleaner from bleach.sanitizer import Cleaner
def alert_tanner(message):
try:
logger.info('Alerting Tanner: ' + message)
params = dict(qotnews=message)
requests.get('https://tbot.tannercollin.com/message', params=params, timeout=4)
except BaseException as e:
logger.error('Problem alerting Tanner: ' + str(e))
def gen_rand_id(): def gen_rand_id():
return ''.join(random.choice(string.ascii_uppercase) for _ in range(4)) return ''.join(random.choice(string.ascii_uppercase) for _ in range(4))