diff --git a/plugins/hackernews.py b/plugins/hackernews.py index a707d8b..1b53167 100644 --- a/plugins/hackernews.py +++ b/plugins/hackernews.py @@ -1,29 +1,10 @@ -import re -import urlparse - from util import http, hook -base_api = 'https://hacker-news.firebaseio.com/v0/item/' - - -def get_by_id(id): - url = base_api + id + ".json?print=pretty" - - try: - return http.get_json(url) - except ValueError: - return None - - -@hook.regex(r'(?i)https://(?:www\.)?news\.ycombinator\.com(?:/.+)?') +@hook.regex(r'(?i)https://(?:www\.)?news\.ycombinator\.com\S*id=(\d+)') def hackernews(match): - parsed = urlparse.urlparse(match.group()) - id = urlparse.parse_qs(parsed.query)['id'][0] - entry = get_by_id(id) - - if not entry: - return + base_api = 'https://hacker-news.firebaseio.com/v0/item/' + entry = http.get_json(base_api + match.group(1) + ".json") if entry['type'] == "story": return "{title} by {by} with {score} points and {descendants} comments ({url})".format(**entry)