diff --git a/plugins/puush.py b/plugins/puush.py new file mode 100644 index 0000000..de6b597 --- /dev/null +++ b/plugins/puush.py @@ -0,0 +1,47 @@ +import urllib2 +import random +from util import hook + + +def make_string(): + stuff = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + string = random.choice("123") + for x in range(4): + string += random.choice(stuff) + return string + + +def check_url(code): + try: + x = urllib2.urlopen(make_url(code)) + return True + except: + return False # sorry <3 + + +def make_url(code): + return "http://puu.sh/" + code + + +@hook.command(autohelp=False) +def puush(inp): + """puush [1-5] -- Returns a number of random puu.sh entries.""" + out = "" + num = 0 + if not inp: + inp = "1" + if inp[0] not in "123456789": + out += "Defaulting to one: " + num = 1 + elif int(inp[0]) > 5: + out += "Five images max: " + num = 5 + else: + num = int(inp[0]) + images = [] + for x in range(num): + ran = make_string() + while not check_url(ran): + ran = make_string() + images.append(make_url(ran)) + return out + " ".join(images) diff --git a/plugins/spellcheck.py b/plugins/spellcheck.py index 95b1699..244ec9f 100755 --- a/plugins/spellcheck.py +++ b/plugins/spellcheck.py @@ -6,22 +6,33 @@ locale = "en_US" @hook.command def spell(inp): - """spell -- Check spelling of .""" - - if ' ' in inp: - return "This command only supports one word at a time." - + """spell -- Check spelling of a word or sentence.""" + words = inp.split(" ") + if words[0] == "": + words = [] if not enchant.dict_exists(locale): return "Could not find dictionary: {}".format(locale) dictionary = enchant.Dict(locale) - is_correct = dictionary.check(inp) - suggestions = dictionary.suggest(inp) - s_string = ', '.join(suggestions[:10]) - if is_correct: - return '"{}" appears to be \x02valid\x02! ' \ - '(suggestions: {})'.format(inp, s_string) + if len(words) > 1: + out = [] + for x in words: + is_correct = dictionary.check(x) + suggestions = dictionary.suggest(x) + s_string = '/'.join(suggestions[:3]) + if is_correct: + out.append(x) + else: + out.append('\x02' + s_string + '\x02') + return " ".join(out) else: - return '"{}" appears to be \x02invalid\x02! ' \ - '(suggestions: {})'.format(inp, s_string) + is_correct = dictionary.check(words[0]) + suggestions = dictionary.suggest(words[0]) + s_string = ', '.join(suggestions[:10]) + if is_correct: + return '"{}" appears to be \x02valid\x02! ' \ + '(suggestions: {})'.format(inp, s_string) + else: + return '"{}" appears to be \x02invalid\x02! ' \ + '(suggestions: {})'.format(inp, s_string)