From 0016451e7b993319e82dd0e93e262ba83ed846ea Mon Sep 17 00:00:00 2001 From: CMDR furrycat Date: Fri, 30 Sep 2016 12:10:26 +0100 Subject: [PATCH] Handle GalNet direct from Frontier servers. --- bot.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bot.py b/bot.py index fdc84df..1b7c1d7 100755 --- a/bot.py +++ b/bot.py @@ -60,6 +60,7 @@ bots = { # catbot beta '229879865686360064': { 'feeds': [ + { 'channel': 227535682283765770, 'description': 'GalNet', 'url': 'https://community.elitedangerous.com/galnet-rss', 'date': False, 'link': ['https://community.elitedangerous.com/galnet/uid/{}', 'id'] }, { 'channel': 229924021079113729, 'description': 'Patch notes', 'url': 'https://forums.frontier.co.uk/external.php?type=RSS2&forumids=74', 'summary': True }, { 'channel': 229924189669163008, 'description': 'Newsletters', 'url': 'https://forums.frontier.co.uk/external.php?type=RSS2&forumids=73' } ], @@ -504,7 +505,18 @@ def do_rss(feed): digests.append(digest) for entry in d.entries: formatted = '*{}*\n'.format(entry['published']) if date else '' - formatted += '**{}**\n{}'.format(entry['title'], entry['links'][0]['href']) + if 'links' in entry: + link = entry['links'][0]['href'] + elif 'link' in feed: + try: + args = [entry[k] for k in feed['link'][1:]] + link = feed['link'][0].format(*args) + except: + pass + if not link: + log.warning('No link for entry {}'.format(entry['title'])) + continue + formatted += '**{}**\n{}'.format(entry['title'], link) if summary: formatted += '\n{}'.format(''.join(bs4.BeautifulSoup(entry['summary'], 'html.parser').findAll(text = True))) formatted = formatted.strip() -- 2.7.4