From 99fe34a0b16ee3b6f571e09116db4d7a669a4bda Mon Sep 17 00:00:00 2001 From: Dabo Ross Date: Tue, 12 Nov 2013 07:06:06 +0100 Subject: [PATCH] Format everything to pep8 guidelines --- core/config.py | 2 +- plugins/admin.py | 4 ++- plugins/attacks.py | 1 + plugins/bitcoin.py | 10 ++++---- plugins/choose.py | 4 +-- plugins/cypher.py | 7 +++--- plugins/encrypt.py | 16 ++++++------ plugins/google.py | 5 ++-- plugins/google_translate.py | 2 +- plugins/horoscope.py | 2 +- plugins/imgur.py | 2 +- plugins/isup.py | 2 +- plugins/karma.py | 13 +++++----- plugins/kill.py | 4 +-- plugins/minecraft_ping.py | 4 +-- plugins/namegen.py | 5 ++-- plugins/op.py | 2 +- plugins/osrc.py | 2 +- plugins/rdio.py | 12 ++++----- plugins/reddit.py | 5 ++-- plugins/rottentomatoes.py | 2 +- plugins/seen.py | 2 +- plugins/slap.py | 4 +-- plugins/steam_calc.py | 18 +++++++------ plugins/stock.py | 2 +- plugins/twitter.py | 4 +-- plugins/util/color.py | 6 +++++ plugins/util/execute.py | 3 ++- plugins/util/formatting.py | 50 +++++++++++++++++++------------------ plugins/util/text.py | 2 +- plugins/util/textgen.py | 2 +- plugins/utility.py | 46 +++++++++++++++++++++++----------- plugins/valvesounds.py | 4 +-- 33 files changed, 142 insertions(+), 107 deletions(-) diff --git a/core/config.py b/core/config.py index b81fb4d..c813ea5 100755 --- a/core/config.py +++ b/core/config.py @@ -24,4 +24,4 @@ def config(): print 'error: malformed config', e -bot._config_mtime = 0 \ No newline at end of file +bot._config_mtime = 0 diff --git a/plugins/admin.py b/plugins/admin.py index 17a0169..37601b1 100755 --- a/plugins/admin.py +++ b/plugins/admin.py @@ -1,5 +1,6 @@ from util import hook -import os, sys +import os +import sys import re import json import time @@ -127,6 +128,7 @@ def restart(inp, nick=None, conn=None, bot=None): args.insert(0, sys.executable) os.execv(sys.executable, args) + @hook.command(autohelp=False, permissions=["botcontrol"]) def clearlogs(inp, input=None): """clearlogs -- Clears the bots log(s).""" diff --git a/plugins/attacks.py b/plugins/attacks.py index 3ba4883..643a184 100644 --- a/plugins/attacks.py +++ b/plugins/attacks.py @@ -13,6 +13,7 @@ with open("plugins/data/flirts.txt") as f: flirts = [line.strip() for line in f.readlines() if not line.startswith("//")] + @hook.command def lart(inp, action=None, nick=None, conn=None, notice=None): """lart -- LARTs .""" diff --git a/plugins/bitcoin.py b/plugins/bitcoin.py index 21290de..9ed6fbc 100755 --- a/plugins/bitcoin.py +++ b/plugins/bitcoin.py @@ -7,10 +7,10 @@ def bitcoin(inp, message=None): data = http.get_json("https://data.mtgox.com/api/2/BTCUSD/money/ticker") data = data['data'] ticker = { - 'buy': data['buy']['display_short'].encode('ascii','ignore'), - 'high': data['high']['display_short'].encode('ascii','ignore'), - 'low': data['low']['display_short'].encode('ascii','ignore'), - 'vol': data['vol']['display_short'].encode('ascii','ignore'), + 'buy': data['buy']['display_short'].encode('ascii', 'ignore'), + 'high': data['high']['display_short'].encode('ascii', 'ignore'), + 'low': data['low']['display_short'].encode('ascii', 'ignore'), + 'vol': data['vol']['display_short'].encode('ascii', 'ignore'), } message("Current: \x0307{!s}\x0f - High: \x0307{!s}\x0f" - " - Low: \x0307{!s}\x0f - Volume: {!s}".format(ticker['buy'],ticker['high'],ticker['low'],ticker['vol'])) + " - Low: \x0307{!s}\x0f - Volume: {!s}".format(ticker['buy'], ticker['high'], ticker['low'], ticker['vol'])) diff --git a/plugins/choose.py b/plugins/choose.py index 4e7df10..f478328 100755 --- a/plugins/choose.py +++ b/plugins/choose.py @@ -6,7 +6,7 @@ from util import hook @hook.command def choose(inp): - """choose , [choice2], [choice3], [choice4], ... -- + """choose , [choice2], [choice3], [choice4], ... -- Randomly picks one of the given choices.""" c = re.findall(r'([^,]+)', inp) @@ -15,4 +15,4 @@ def choose(inp): if len(c) == 1: return 'The decision is up to you!' - return random.choice(c).strip() \ No newline at end of file + return random.choice(c).strip() diff --git a/plugins/cypher.py b/plugins/cypher.py index 1527778..55bea8c 100755 --- a/plugins/cypher.py +++ b/plugins/cypher.py @@ -10,9 +10,10 @@ def encode(key, clear): enc.append(enc_c) return base64.urlsafe_b64encode("".join(enc)) + def decode(key, enc): dec = [] - enc = base64.urlsafe_b64decode(enc.encode('ascii','ignore')) + enc = base64.urlsafe_b64decode(enc.encode('ascii', 'ignore')) for i in range(len(enc)): key_c = key[i % len(key)] dec_c = chr((256 + ord(enc[i]) - ord(key_c)) % 256) @@ -26,7 +27,7 @@ def cypher(inp): passwd = inp.split(" ")[0] inp = " ".join(inp.split(" ")[1:]) - return encode(passwd,inp) + return encode(passwd, inp) @hook.command @@ -34,4 +35,4 @@ def decypher(inp): """decypher -- Decyphers with .""" passwd = inp.split(" ")[0] inp = " ".join(inp.split(" ")[1:]) - return decode(passwd,inp) + return decode(passwd, inp) diff --git a/plugins/encrypt.py b/plugins/encrypt.py index 95bdf44..7dccbf3 100644 --- a/plugins/encrypt.py +++ b/plugins/encrypt.py @@ -9,10 +9,10 @@ import json import hashlib # helper functions to pad and unpad a string to a specified block size -# +# BS = AES.block_size -pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) -unpad = lambda s : s[0:-ord(s[-1])] +pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) +unpad = lambda s: s[0:-ord(s[-1])] # helper functions to encrypt and encode a string with AES and base64 encode_aes = lambda c, s: base64.b64encode(c.encrypt(pad(s))) @@ -48,7 +48,7 @@ def encrypt(inp, bot=None, db=None, notice=None): # if there is only one argument, return the help message if len(split) == 1: notice(encrypt.__doc__) - return + return # generate the key from the password and salt password = split[0] @@ -56,7 +56,7 @@ def encrypt(inp, bot=None, db=None, notice=None): key = PBKDF2(password, salt) # generate the IV and encode it to store in the database - iv = Random.new().read(AES.block_size); + iv = Random.new().read(AES.block_size) iv_encoded = base64.b64encode(iv) # create the AES cipher and encrypt/encode the text with it @@ -83,9 +83,9 @@ def decrypt(inp, bot=None, db=None, notice=None): # if there is only one argument, return the help message if len(split) == 1: notice(decrypt.__doc__) - return + return - # generate the key from the password and salt + # generate the key from the password and salt password = split[0] salt = get_salt(bot) key = PBKDF2(password, salt) @@ -99,4 +99,4 @@ def decrypt(inp, bot=None, db=None, notice=None): # create AES cipher, decode text, decrypt text, and unpad it cipher = AES.new(key, AES.MODE_CBC, iv) - return decode_aes(cipher, text) \ No newline at end of file + return decode_aes(cipher, text) diff --git a/plugins/google.py b/plugins/google.py index e480616..ebf6209 100755 --- a/plugins/google.py +++ b/plugins/google.py @@ -20,8 +20,7 @@ def googleimage(inp): raise IOError('error searching for images: {}: {}'.format(parsed['responseStatus'], '')) if not parsed['responseData']['results']: return 'no images found' - return random.choice(parsed['responseData']['results'][:10]) \ - ['unescapedUrl'] + return random.choice(parsed['responseData']['results'][:10])['unescapedUrl'] @hook.command('search') @@ -48,4 +47,4 @@ def google(inp): content = http.html.fromstring(content).text_content() content = text.truncate_str(content, 150) - return u'{} -- \x02{}\x02: "{}"'.format(result['unescapedUrl'], title, content) \ No newline at end of file + return u'{} -- \x02{}\x02: "{}"'.format(result['unescapedUrl'], title, content) diff --git a/plugins/google_translate.py b/plugins/google_translate.py index 8a05b9d..955cb53 100644 --- a/plugins/google_translate.py +++ b/plugins/google_translate.py @@ -164,4 +164,4 @@ lang_pairs = [ ("vi", "Vietnamese"), ("cy", "Welsh"), ("yi", "Yiddish") -] \ No newline at end of file +] diff --git a/plugins/horoscope.py b/plugins/horoscope.py index 4b05bc5..51d1dd6 100644 --- a/plugins/horoscope.py +++ b/plugins/horoscope.py @@ -53,4 +53,4 @@ def horoscope(inp, db=None, notice=None, nick=None): (nick.lower(), sign)) db.commit() - return result \ No newline at end of file + return result diff --git a/plugins/imgur.py b/plugins/imgur.py index f31693b..80efbca 100644 --- a/plugins/imgur.py +++ b/plugins/imgur.py @@ -77,4 +77,4 @@ def imgur(inp): if show_nsfw: return "{} \x02NSFW\x02".format(web.isgd("http://imgur.com/" + ','.join(items))) else: - return web.isgd("http://imgur.com/" + ','.join(items)) \ No newline at end of file + return web.isgd("http://imgur.com/" + ','.join(items)) diff --git a/plugins/isup.py b/plugins/isup.py index 3d16ccb..454b8f5 100644 --- a/plugins/isup.py +++ b/plugins/isup.py @@ -25,4 +25,4 @@ def isup(inp): elif "is up" in content: return "It's just you. {} is \x02\x033up\x02\x0f.".format(url) else: - return "Huh? That doesn't look like a site on the interweb." \ No newline at end of file + return "Huh? That doesn't look like a site on the interweb." diff --git a/plugins/karma.py b/plugins/karma.py index 1a8941f..dd259a3 100644 --- a/plugins/karma.py +++ b/plugins/karma.py @@ -53,7 +53,7 @@ def allowed(db, nick, nick_vote): db.commit() return True, 0 else: - return False, timesince.timeuntil(check, now=time.time()-time_restriction) + return False, timesince.timeuntil(check, now=time.time() - time_restriction) else: db.execute("""INSERT OR REPLACE INTO karma_voters( voter, @@ -64,10 +64,11 @@ def allowed(db, nick, nick_vote): # TODO Make this work on multiple matches in a string, right now it'll only -# work on one match. +# work on one match. # karma_re = ('((\S+)(\+\+|\-\-))+', re.I) karma_re = ('(.+)(\+\+|\-\-)$', re.I) + @hook.regex(*karma_re) def karma_add(match, nick='', chan='', db=None, notice=None): @@ -79,7 +80,7 @@ def karma_add(match, nick='', chan='', db=None, notice=None): notice("You can't vote on yourself!") return if len(nick_vote) < 3 or " " in nick_vote: - return # ignore anything below 3 chars in length or with spaces + return # ignore anything below 3 chars in length or with spaces vote_allowed, when = allowed(db, nick, nick_vote) if vote_allowed: @@ -88,7 +89,7 @@ def karma_add(match, nick='', chan='', db=None, notice=None): nick_vote, up_karma, down_karma, - total_karma) values(?,?,?,?)""", (nick_vote.lower(),0,0,0)) + total_karma) values(?,?,?,?)""", (nick_vote.lower(), 0, 0, 0)) up(db, nick_vote) notice("Gave {} 1 karma!".format(nick_vote)) if match.group(2) == '--': @@ -96,7 +97,7 @@ def karma_add(match, nick='', chan='', db=None, notice=None): nick_vote, up_karma, down_karma, - total_karma) values(?,?,?,?)""", (nick_vote.lower(),0,0,0)) + total_karma) values(?,?,?,?)""", (nick_vote.lower(), 0, 0, 0)) down(db, nick_vote) notice("Took away 1 karma from {}.".format(nick_vote)) else: @@ -126,6 +127,6 @@ def karma(inp, nick='', chan='', db=None): return "That user has no karma." else: out = out[0] - return "{} has {} karma points.".format(nick_vote, out[1]-out[2]) + return "{} has {} karma points.".format(nick_vote, out[1] - out[2]) return diff --git a/plugins/kill.py b/plugins/kill.py index 37be4ba..d264682 100644 --- a/plugins/kill.py +++ b/plugins/kill.py @@ -22,11 +22,11 @@ def kill(inp, action=None, nick=None, conn=None, notice=None): target = nick variables = { - "user": target + "user": target } with open("plugins/data/kills.json") as f: generator = get_generator(f.read(), variables) # act out the message - action(generator.generate_string()) \ No newline at end of file + action(generator.generate_string()) diff --git a/plugins/minecraft_ping.py b/plugins/minecraft_ping.py index 63b56f4..3745356 100644 --- a/plugins/minecraft_ping.py +++ b/plugins/minecraft_ping.py @@ -15,7 +15,7 @@ def format_motd(motd): colors = [u"\x0300,\xa7f", u"\x0301,\xa70", u"\x0302,\xa71", u"\x0303,\xa72", u"\x0304,\xa7c", u"\x0305,\xa74", u"\x0306,\xa75", u"\x0307,\xa76", u"\x0308,\xa7e", u"\x0309,\xa7a", u"\x0310,\xa73", u"\x0311,\xa7b", u"\x0312,\xa71", u"\x0313,\xa7d", u"\x0314,\xa78", u"\x0315,\xa77", u"\x02,\xa7l", u"\x0310,\xa79", - u"\x09,\xa7o", u"\x13,\xa7m", u"\x0f,\xa7r", u"\x15,\xa7n"]; + u"\x09,\xa7o", u"\x13,\xa7m", u"\x0f,\xa7r", u"\x15,\xa7n"] for s in colors: lcol = s.split(",") motd = motd.replace(lcol[1], lcol[0]) @@ -50,7 +50,7 @@ def mcping_connect(host, port): return message except: - return "Error pinging {}:{}, is it up? Double-check your address!".format(host,str(port)) + return "Error pinging {}:{}, is it up? Double-check your address!".format(host, str(port)) def srvData(domain): diff --git a/plugins/namegen.py b/plugins/namegen.py index ce1d68f..f4ab7fe 100755 --- a/plugins/namegen.py +++ b/plugins/namegen.py @@ -1,6 +1,7 @@ # Plugin by Lukeroge from util import hook, text, textgen -import json, os +import json +import os GEN_DIR = "./plugins/data/name_files/" @@ -9,7 +10,7 @@ GEN_DIR = "./plugins/data/name_files/" def get_generator(_json): data = json.loads(_json) return textgen.TextGenerator(data["templates"], - data["parts"], default_templates = data["default_templates"]) + data["parts"], default_templates=data["default_templates"]) @hook.command(autohelp=False) diff --git a/plugins/op.py b/plugins/op.py index ed51f3f..695b74a 100755 --- a/plugins/op.py +++ b/plugins/op.py @@ -178,4 +178,4 @@ def unlock(inp, conn=None, chan=None, notice=None): """unlock [channel] -- Makes the bot unlock a channel.. If [channel] is blank the bot will mute the channel the command was used in.""" - mode_cmd_no_target("-i", "unlock", inp, chan, conn, notice) \ No newline at end of file + mode_cmd_no_target("-i", "unlock", inp, chan, conn, notice) diff --git a/plugins/osrc.py b/plugins/osrc.py index c1dd322..e2a2006 100644 --- a/plugins/osrc.py +++ b/plugins/osrc.py @@ -19,7 +19,7 @@ def osrc(inp): response["nick"] = user_nick soup = BeautifulSoup(response["summary"]) - response["work_time"] = soup.find("a", {"href" : "#day"}).contents[0] + response["work_time"] = soup.find("a", {"href": "#day"}).contents[0] response["short_url"] = web.try_isgd(user_url.format(user_nick)) diff --git a/plugins/rdio.py b/plugins/rdio.py index 6333ab1..6220a24 100644 --- a/plugins/rdio.py +++ b/plugins/rdio.py @@ -27,18 +27,18 @@ def rdio(inp, bot=None): except IndexError: return "No results." if 'name' in info: - if 'artist' in info and 'album' in info: #Track + if 'artist' in info and 'album' in info: # Track name = info['name'] artist = info['artist'] album = info['album'] url = info['shortUrl'] return u"\x02{}\x02 by \x02{}\x02 - {} {}".format(name, artist, album, url) - elif 'artist' in info and not 'album' in info: #Album + elif 'artist' in info and not 'album' in info: # Album name = info['name'] artist = info['artist'] url = info['shortUrl'] return u"\x02{}\x02 by \x02{}\x02 - {}".format(name, artist, url) - else: #Artist + else: # Artist name = info['name'] url = info['shortUrl'] return u"\x02{}\x02 - {}".format(name, url) @@ -115,15 +115,15 @@ def rdio_url(match, bot=None): data = json.loads(response[1]) info = data['result'] if 'name' in info: - if 'artist' in info and 'album' in info: #Track + if 'artist' in info and 'album' in info: # Track name = info['name'] artist = info['artist'] album = info['album'] return u"Rdio track: \x02{}\x02 by \x02{}\x02 - {}".format(name, artist, album) - elif 'artist' in info and not 'album' in info: #Album + elif 'artist' in info and not 'album' in info: # Album name = info['name'] artist = info['artist'] return u"Rdio album: \x02{}\x02 by \x02{}\x02".format(name, artist) - else: #Artist + else: # Artist name = info['name'] return u"Rdio artist: \x02{}\x02".format(name) diff --git a/plugins/reddit.py b/plugins/reddit.py index cdf619b..fd2fdf2 100644 --- a/plugins/reddit.py +++ b/plugins/reddit.py @@ -36,14 +36,14 @@ def reddit(inp): # find the requested post number (if any) if len(parts) > 1: url = base_url.format(parts[0].strip()) - try: + try: id_num = int(parts[1]) - 1 except ValueError: return "Invalid post number." else: url = base_url.format(parts[0].strip()) else: - url = "http://reddit.com/.json" + url = "http://reddit.com/.json" try: data = http.get_json(url, user_agent=http.ua_chrome) @@ -51,7 +51,6 @@ def reddit(inp): return "Error: " + str(e) data = data["data"]["children"] - # get the requested/random post if id_num: try: diff --git a/plugins/rottentomatoes.py b/plugins/rottentomatoes.py index b3381c0..34e50d8 100644 --- a/plugins/rottentomatoes.py +++ b/plugins/rottentomatoes.py @@ -36,4 +36,4 @@ def rottentomatoes(inp, bot=None): rotten = review_count - fresh return u"{} - Critics Rating: \x02{}%\x02 ({} liked, {} disliked) " \ - "Audience Rating: \x02{}%\x02 - {}".format(title, critics_score, fresh, rotten, audience_score, url) \ No newline at end of file + "Audience Rating: \x02{}%\x02 - {}".format(title, critics_score, fresh, rotten, audience_score, url) diff --git a/plugins/seen.py b/plugins/seen.py index 640b227..29af742 100755 --- a/plugins/seen.py +++ b/plugins/seen.py @@ -32,7 +32,7 @@ def seen_sieve(paraml, input=None, db=None): @hook.command def seen(inp, nick='', chan='', db=None, input=None): """seen -- Tell when a nickname was last in active in one of this bot's channels.""" - + if input.conn.nick.lower() == inp.lower(): return "You need to get your eyes checked." diff --git a/plugins/slap.py b/plugins/slap.py index 89936c3..5371a0a 100644 --- a/plugins/slap.py +++ b/plugins/slap.py @@ -22,11 +22,11 @@ def slap(inp, action=None, nick=None, conn=None, notice=None): target = nick variables = { - "user": target + "user": target } with open("plugins/data/slaps.json") as f: generator = get_generator(f.read(), variables) # act out the message - action(generator.generate_string()) \ No newline at end of file + action(generator.generate_string()) diff --git a/plugins/steam_calc.py b/plugins/steam_calc.py index d9ff67d..2fe2825 100644 --- a/plugins/steam_calc.py +++ b/plugins/steam_calc.py @@ -7,8 +7,13 @@ gauge_url = "http://www.mysteamgauge.com/search?username={}" api_url = "http://mysteamgauge.com/user/{}.csv" steam_api_url = "http://steamcommunity.com/id/{}/?xml=1" -def refresh_data(name): http.get(gauge_url.format(name), timeout=25, get_method='HEAD') -def get_data(name): return http.get(api_url.format(name)) + +def refresh_data(name): + http.get(gauge_url.format(name), timeout=25, get_method='HEAD') + + +def get_data(name): + return http.get(api_url.format(name)) def is_number(s): @@ -45,7 +50,7 @@ def steamcalc(inp, reply=None): except (http.HTTPError, http.URLError): return "Could not get data for this user." - csv_data = StringIO.StringIO(request) # we use StringIO because CSV can't read a string + csv_data = StringIO.StringIO(request) # we use StringIO because CSV can't read a string reader = unicode_dictreader(csv_data) # put the games in a list @@ -63,7 +68,7 @@ def steamcalc(inp, reply=None): except AttributeError: return "Could not get data for this user." - online_state = online_state.replace("
", ": ") # will make this pretty later + online_state = online_state.replace("
", ": ") # will make this pretty later data["state"] = text.strip_html(online_state) # work out the average metascore for all games @@ -91,9 +96,8 @@ def steamcalc(inp, reply=None): data["size"] = "{0:.1f}".format(total_size) - - reply("{name} ({state}) has {games} games with a total value of ${value}" \ - " and a total size of {size}GB! The average metascore for these" \ + reply("{name} ({state}) has {games} games with a total value of ${value}" + " and a total size of {size}GB! The average metascore for these" " games is {average_metascore}.".format(**data)) if do_refresh: diff --git a/plugins/stock.py b/plugins/stock.py index ecb6e9a..154e2ff 100755 --- a/plugins/stock.py +++ b/plugins/stock.py @@ -30,4 +30,4 @@ def stock(inp): "Day Range: %(DaysRange)s " \ "MCAP: %(MarketCapitalization)s" % quote - return ret \ No newline at end of file + return ret diff --git a/plugins/twitter.py b/plugins/twitter.py index c6e9cde..256ff71 100755 --- a/plugins/twitter.py +++ b/plugins/twitter.py @@ -131,12 +131,12 @@ def twuser(inp, bot=None): prefix = "" if user.location: - loc_str = " is located in \x02{}\x02 and".format(user.location) + loc_str = " is located in \x02{}\x02 and".format(user.location) else: loc_str = "" if user.description: - desc_str = " The users description is \"{}\"".format(user.description) + desc_str = " The users description is \"{}\"".format(user.description) else: desc_str = "" diff --git a/plugins/util/color.py b/plugins/util/color.py index d5501df..e0aaa06 100644 --- a/plugins/util/color.py +++ b/plugins/util/color.py @@ -13,23 +13,29 @@ control = {'bold': '\x02', 'color': '\x03', 'italic': '\x09', def color(color): return control['color'] + colors[color] + def bold(): return control['bold'] + def italic(): return control['italic'] + def strike(): return control['strikethrough'] + def reset(): return control['reset'] + def underline(other=False): if other: return control['underline2'] else: return control['underline'] + def reverse(): return control['reverse'] diff --git a/plugins/util/execute.py b/plugins/util/execute.py index 9aecd7e..4a12589 100644 --- a/plugins/util/execute.py +++ b/plugins/util/execute.py @@ -1,4 +1,5 @@ -import http, web +import http +import web def eval_py(code, paste_multiline=True): diff --git a/plugins/util/formatting.py b/plugins/util/formatting.py index 442adf5..2ab6ba0 100644 --- a/plugins/util/formatting.py +++ b/plugins/util/formatting.py @@ -1,34 +1,36 @@ def raw(format_string): """Replace based irc formatting""" stuff = {} - stuff['col'] = {'[white]':'\x030', - '[black]':'\x031', - '[dblue]':'\x032', - '[dgreen]':'\x033', - '[dred]':'\x034', - '[brown]':'\x035', - '[purple]':'\x036', - '[gold]':'\x037', - '[yellow]':'\x038', - '[green]':'\x039', - '[cyan]':'\x0310', - '[lblue]':'\x0311', - '[blue]':'\x0312', - '[pink]':'\x0313', - '[gray]':'\x0314', - '[lgray]':'\x0315', - '[err]':'\x034\x02' - '[/err]':'\x030\x02'} - stuff['style'] = {'[b]':'\x02', - '[clear]':'\x0f'} - stuff['sym'] = {'[point]':'\x07'} - stuff['text'] = {'[url]':'http://'} + stuff['col'] = {'[white]': '\x030', + '[black]': '\x031', + '[dblue]': '\x032', + '[dgreen]': '\x033', + '[dred]': '\x034', + '[brown]': '\x035', + '[purple]': '\x036', + '[gold]': '\x037', + '[yellow]': '\x038', + '[green]': '\x039', + '[cyan]': '\x0310', + '[lblue]': '\x0311', + '[blue]': '\x0312', + '[pink]': '\x0313', + '[gray]': '\x0314', + '[lgray]': '\x0315', + '[err]': '\x034\x02' + '[/err]': '\x030\x02'} + stuff['style'] = {'[b]': '\x02', + '[clear]': '\x0f'} + stuff['sym'] = {'[point]': '\x07'} + stuff['text'] = {'[url]': 'http://'} final = {} for x in stuff: final.update(stuff[x]) for x in final: - format_string = format_string.replace(x,final[x]) + format_string = format_string.replace(x, final[x]) return format_string + + def err(format_string): """Format the string with standard error styling""" - return "\x034\x02{}\x0f".format(format_string) \ No newline at end of file + return "\x034\x02{}\x0f".format(format_string) diff --git a/plugins/util/text.py b/plugins/util/text.py index 9bc40f4..3fd679a 100755 --- a/plugins/util/text.py +++ b/plugins/util/text.py @@ -184,7 +184,7 @@ def truncate_str(content, length=100, suffix='...'): # Expression to match some_token and some_token="with spaces" (and similarly # for single-quoted strings). -split_re = re.compile(r"""((?:[^\s'"]*(?:(?:"(?:[^"\\]|\\.)*" | '(?:[""" \ +split_re = re.compile(r"""((?:[^\s'"]*(?:(?:"(?:[^"\\]|\\.)*" | '(?:[""" r"""^'\\]|\\.)*')[^\s'"]*)+) | \S+)""", re.VERBOSE) diff --git a/plugins/util/textgen.py b/plugins/util/textgen.py index 29d74f0..9954f17 100644 --- a/plugins/util/textgen.py +++ b/plugins/util/textgen.py @@ -48,4 +48,4 @@ class TextGenerator(object): return strings def get_template(self, template): - return self.templates[template] \ No newline at end of file + return self.templates[template] diff --git a/plugins/utility.py b/plugins/utility.py index 947db15..79fd598 100644 --- a/plugins/utility.py +++ b/plugins/utility.py @@ -6,28 +6,30 @@ import re # variables colors = collections.OrderedDict([ - ('red', '\x0304'), - ('ornage', '\x0307'), - ('yellow', '\x0308'), - ('green', '\x0309'), - ('cyan', '\x0303'), - ('ltblue', '\x0310'), - ('rylblue','\x0312'), - ('blue', '\x0302'), - ('magenta','\x0306'), - ('pink', '\x0313'), - ('maroon', '\x0305') + ('red', '\x0304'), + ('ornage', '\x0307'), + ('yellow', '\x0308'), + ('green', '\x0309'), + ('cyan', '\x0303'), + ('ltblue', '\x0310'), + ('rylblue', '\x0312'), + ('blue', '\x0302'), + ('magenta', '\x0306'), + ('pink', '\x0313'), + ('maroon', '\x0305') ]) # helper functions strip_re = re.compile("(\x03|\x02|\x1f)(?:,?\d{1,2}(?:,\d{1,2})?)?", re.UNICODE) + def strip(text): - return strip_re.sub('', text) + return strip_re.sub('', text) # basic text tools + ## TODO: make this capitalize sentences correctly @hook.command("capitalise") @hook.command @@ -35,21 +37,25 @@ def capitalize(inp): """capitalize -- Capitalizes .""" return inp.capitalize() + @hook.command def upper(inp): """upper -- Convert string to uppercase.""" return inp.upper() + @hook.command def lower(inp): """lower -- Convert string to lowercase.""" return inp.lower() + @hook.command def titlecase(inp): """title -- Convert string to title case.""" return inp.title() + @hook.command def swapcase(inp): """swapcase -- Swaps the capitalization of .""" @@ -57,21 +63,25 @@ def swapcase(inp): # encoding + @hook.command def rot13(inp): """rot13 -- Encode with rot13.""" return inp.encode('rot13') + @hook.command def base64(inp): """base64 -- Encode with base64.""" return inp.encode('base64') + @hook.command def unbase64(inp): """unbase64 -- Decode with base64.""" return inp.decode('base64') + @hook.command def checkbase64(inp): try: @@ -86,6 +96,7 @@ def checkbase64(inp): else: return '"{}" is not base64 encoded'.format(inp) + @hook.command def unescape(inp): """unescape -- Unescapes .""" @@ -94,6 +105,7 @@ def unescape(inp): except Exception as e: return "Error: {}".format(e) + @hook.command def escape(inp): """escape -- Escapes .""" @@ -104,6 +116,7 @@ def escape(inp): # length + @hook.command def length(inp): """length -- gets the length of """ @@ -111,13 +124,15 @@ def length(inp): # reverse + @hook.command def reverse(inp): """reverse -- reverses .""" return inp[::-1] - + # hashing + @hook.command def hash(inp): """hash -- Returns hashes of .""" @@ -126,6 +141,7 @@ def hash(inp): # novelty + @hook.command def munge(inp): """munge -- Munges up .""" @@ -133,6 +149,7 @@ def munge(inp): # colors - based on code by Reece Selwood - + @hook.command def rainbow(inp): inp = unicode(inp) @@ -147,6 +164,7 @@ def rainbow(inp): out += col[i % l][1] + t return out + @hook.command def wrainbow(inp): inp = unicode(inp) @@ -158,6 +176,7 @@ def wrainbow(inp): out.append(col[i % l][1] + t) return ' '.join(out) + @hook.command def usa(inp): inp = strip(inp) @@ -167,4 +186,3 @@ def usa(inp): for i, t in enumerate(inp): out += c[i % l] + t return out - diff --git a/plugins/valvesounds.py b/plugins/valvesounds.py index 5535877..d8a9842 100644 --- a/plugins/valvesounds.py +++ b/plugins/valvesounds.py @@ -24,11 +24,11 @@ def get_sound_info(game, search): text = item["text"] items.append("{} - {} {}".format(item["who"], text if len(text) < 325 else text[:325] + "...", - item["listen"] ) ) + item["listen"])) if len(items) == 1: return items[0] else: - return "{} (and {} others: {})".format(items[0], len(items) - 1, web.haste("\n".join(items)) ) + return "{} (and {} others: {})".format(items[0], len(items) - 1, web.haste("\n".join(items))) @hook.command