diff --git a/plugins/answers.py b/plugins/answers.py index b16c779..da846bc 100644 --- a/plugins/answers.py +++ b/plugins/answers.py @@ -9,6 +9,8 @@ def answer(inp): result = web.query(query, {"query": inp.strip()}).one() short_url = web.isgd(result["Link"]) - answer = text.truncate_str(result["ChosenAnswer"], 80) - return u"\x02{}\x02 {} - {}".format(result["Subject"], answer, short_url) \ No newline at end of file + # we split the answer and .join() it to remove newlines/extra spaces + answer = text.truncate_str(" ".join(result["ChosenAnswer"].split()), 80) + + return u"\x02{}\x02 \"{}\" - {}".format(result["Subject"], answer, short_url) \ No newline at end of file diff --git a/plugins/snowy-evening.py b/plugins/snowy-evening.py new file mode 100644 index 0000000..333c23e --- /dev/null +++ b/plugins/snowy-evening.py @@ -0,0 +1,25 @@ +from util import hook, http, text +import json, urllib2 +import re + +snowy_re = (r'(?:snowy-evening.com/)' + '([-_a-zA-Z0-9/]+)', re.I) + + +@hook.regex(*snowy_re) +def snowy(match, nick="", reply=""): + owner, name, id, blankSpace = match.group(1).split("/") + soup = http.get_soup("https://snowy-evening.com/%s/%s/%s" % (owner, name, id)) + + header = soup.find('section', {'class': 'container'}).header.h2(text=True)[1].split(" ", 1)[1] + reply("Project {} by {}: Issue #{}: {}".format(name, owner, id, text.truncate_str(header, 150))) + stats = soup.find('ul', {'id':'stats'}).find_all('strong') + if len(stats) == 6: + priority, number, type, status, age, assignee = [i.contents[0].lower() for i in stats] + else: + priority, number, type, status, age = [i.contents[0].lower() for i in stats] + + if status == "assigned": + reply("This issue has a priority of \x02{}\x02. It's age is \x02{}\x02 and it is a \x02{}\x02. This issue is \x02{}\x02 to \x02{}\x02.".format(priority, age, type, status, assignee)) + else: + reply("This issue has a priority of \x02{}\x02. It's age is \x02{}\x02 and it is a \x02{}\x02. It's status is \x02{}\x02.".format(priority, age, type, status)) \ No newline at end of file