pep8 much?

This commit is contained in:
neersighted 2012-02-29 00:29:53 -08:00
parent e77e45d8b8
commit ed50bc746c
33 changed files with 92 additions and 99 deletions

View file

@ -22,6 +22,7 @@ def urban(inp):
return out
# define plugin by GhettoWizard & Scaevolus
@hook.command('dictionary')
@hook.command

View file

@ -25,4 +25,3 @@ def drama(inp):
return '%s :: \x02%s\x02' % (summary, url)
return "error"

View file

@ -11,11 +11,9 @@ def fact(inp, say=False, nick=False):
try:
fact, link = get_fact()
except:
pass
pass
return u"%s [ %s ]" % (fact, link)
return u"%s [ %s ]" % (fact, link)
def get_fact():
page = http.get('http://www.omg-facts.com/random')

View file

@ -30,13 +30,14 @@ def get_memory(db, word):
else:
return None
def multiwordReplace(text, wordDic):
"""
take a text and replace words that match a key in a dictionary with
the associated value, return the changed text
"""
rc = re.compile('|'.join(map(re.escape, wordDic)))
def translate(match):
return wordDic[match.group(0)]
return rc.sub(translate, text)
@ -50,7 +51,6 @@ def remember(inp, nick='', db=None, say=None, input=None, notice=None):
return
db_init(db)
append = False
try:
@ -87,6 +87,7 @@ def remember(inp, nick='', db=None, say=None, input=None, notice=None):
notice('Remembered!')
return
@hook.command("f")
def forget(inp, db=None, input=None, notice=None):
".forget <word> -- Forgets a remembered <word>."
@ -107,6 +108,7 @@ def forget(inp, db=None, input=None, notice=None):
notice("I don't know about that.")
return
@hook.command("info")
@hook.regex(r'^\? ?(.+)')
def question(inp, say=None, db=None):

View file

@ -1,10 +1,8 @@
# -*- coding: utf-8 -*-
from util import hook
import random
@hook.command
def flip(inp, flip_count=0, say = None):
def flip(inp, flip_count=0, say=None):
".flip <text> -- Flips <text> over."
guy = unicode(random.choice(flips), 'utf8')
inp = inp.lower()
@ -23,7 +21,7 @@ flips = ["(屮ಠ︵ಠ)屮",
"( ノ♉︵♉ )ノ",
"(╯°□°)╯",
"( ノ⊙︵⊙)ノ"]
character_replacements = {
'a': 'ɐ',
'b': 'q',

View file

@ -53,5 +53,3 @@ def flirt(inp, nick=None, me=None, input=None):
if inp == input.conn.nick.lower() or inp == "itself":
msg = "flirts with itself... \"" + random.choice(flirts) + "\""
me(msg)

View file

@ -14,7 +14,7 @@ base_url = 'http://www.fmylife.com/'
def fml(inp):
".fml [id] -- Gets a random quote from fmyfife.com. Optionally gets [id]."
inp = inp.replace("#","") # this lets people use .fml #123456
inp = inp.replace("#", "")
if inp:
if not inp.isdigit():

View file

@ -57,10 +57,9 @@ fortunes = ["Help! I'm stuck in the fortune cookie factory!",
@hook.command(autohelp=False)
def fortune(inp, nick=None, say=None, input=None):
".fortune -- Fortune cookies on demand."
msg = "(" + nick + ") " + random.choice(fortunes)
if re.match("^[A-Za-z0-9_|.-\]\[]*$", inp.lower()) and inp != "":
msg = "(@" + inp + ") " + random.choice(fortunes)
say(msg)

View file

@ -15,21 +15,22 @@ def find_location(ip, api):
def timezone(ip):
time = find_location(ip)["timezone"]
time = time.replace(":",".")
time = time.replace(".00","")
time = time.replace(":", ".")
time = time.replace(".00", "")
return int(time)
@hook.command
@hook.command("location")
def geoip(inp, say = None, bot = None):
def geoip(inp, say=None, bot=None):
".geoip <ip> - Performs a location check on <ip>."
api_key = bot.config.get("api_keys", {}).get("geoip", None)
if api_key is None:
return "error: no api key set"
give = find_location(inp, api_key)
if give["country"] not in [""," ","-"," - "]:
if give["country"] not in ["", " ", "-", " - "]:
if give["state"] == give["city"]:
localstring = give["city"]
localstring = give["city"]
else:
localstring = give["city"] + ", " + give["state"]
say("That IP comes from " + give["country"] + " (" + give["country_short"] + ")")
@ -37,4 +38,3 @@ def geoip(inp, say = None, bot = None):
else:
say("Either that wasn't an IP or I cannot locate it in my database. :(")
return

View file

@ -13,14 +13,16 @@ def gitio(inp):
except:
code = None
# if the first 8 chars of "url" are not "https://" then append "https://" to the url
# if the first 8 chars of "url" are not "https://" then append "https://" to the url, also convert "http://" to "https://"
if url[:8] != "https://":
url = "https://" + url
if url[:7] != "http://":
url = "https://" + url
else:
url = "https://" + url[7:]
url='url='+str(url)
if code:
url = url + '&code=' + str(code)
req = urllib2.Request(url='http://git.io', data = url)
req = urllib2.Request(url='http://git.io', data=url)
# try getting url, catch http error
try:
@ -43,4 +45,4 @@ def gitio(inp):
# this wont work for some reason, so lets ignore it ^
# return location, minus the first 10 chars
return location[10:]
return location[10:]

View file

@ -19,7 +19,7 @@ def gis(inp):
parsed['responseStatus'], ''))
if not parsed['responseData']['results']:
return 'no images found'
return random.choice(parsed['responseData']['results'][:10]) \
return random.choice(parsed['responseData']['results'][:10])\
['unescapedUrl'] # squares is dumb

View file

@ -31,4 +31,3 @@ def clock(inp, say=None):
output = output.decode('utf-8', 'ignore')
return output

View file

@ -24,7 +24,7 @@ def help(inp, input=None, bot=None, say=None, notice=None):
if not inp:
length = 0
out = ["",""]
out = ["", ""]
well = []
for x in commands:
well.append(x)

View file

@ -47,4 +47,3 @@ def insult(inp, nick=None, say=None, input=None):
msg = "*stares at " + nick + "*"
say(msg)

View file

@ -22,7 +22,7 @@ body = ['head',
'"special parts"']
@hook.command
def kill(inp, me = None, nick = None, input=None, notice=None):
def kill(inp, me=None, nick=None, input=None, notice=None):
".kill <user> -- Makes the bot kill <user>."
inp = inp.strip()
@ -40,4 +40,3 @@ def kill(inp, me = None, nick = None, input=None, notice=None):
msg = re.sub ('<body>', random.choice(body), kill)
me(msg)

View file

@ -102,7 +102,7 @@ larts = ["swaps <who>'s shampoo with glue",
"hands <who> a poison ivy joint"]
@hook.command
def lart(inp, me = None, nick = None, input=None, notice=None):
def lart(inp, me=None, nick=None, input=None, notice=None):
".lart <user> -- Makes the bot LART <user>."
inp = inp.strip()
@ -116,4 +116,3 @@ def lart(inp, me = None, nick = None, input=None, notice=None):
msg = re.sub ('<who>', inp, random.choice(larts))
me(msg)

View file

@ -20,13 +20,13 @@ def lastfm(inp, nick='', say=None, db=None, bot=None):
if not inp: user = sql[0]
else:
user = inp
db.execute("insert or replace into lastfm(nick,acc) values(?,?)",(nick.lower(), user))
db.execute("insert or replace into lastfm(nick,acc) values(?,?)", (nick.lower(), user))
db.commit()
else:
if not inp: user = nick
else:
user = inp
db.execute("insert or replace into lastfm(nick,acc) values(?,?)",(nick.lower(), user))
db.execute("insert or replace into lastfm(nick,acc) values(?,?)", (nick.lower(), user))
db.commit()
response = http.get_json(api_url, method="user.getrecenttracks",
@ -67,4 +67,3 @@ def lastfm(inp, nick='', say=None, db=None, bot=None):
ret += " on \x02%s\x0f" % album
say(ret)

View file

@ -36,4 +36,3 @@ def mcpaid(inp):
return "The account \'" + inp + "\' is a premium Minecraft account!"
else:
return "The account \'" + inp + "\' is not a premium Minecraft account!"

View file

@ -8,6 +8,8 @@ from util import hook, http
socket.setdefaulttimeout(10)
# Auto-join on Invite (Configurable, defaults to True)
@hook.event('INVITE')
def invite(paraml, conn=None):
invitejoin = conn.conf.get('invitejoin', True)
@ -17,6 +19,8 @@ def invite(paraml, conn=None):
return None
# Rejoin on kick (Configuragble, defaults to False)
@hook.event('KICK')
def rejoin(paraml, conn=None):
autorejoin = conn.conf.get('autorejoin', False)
@ -25,6 +29,8 @@ def rejoin(paraml, conn=None):
else:
return None
# Identify to NickServ (or other service)
@hook.event('004')
def onjoin(paraml, conn=None, bot=None):
nickserv_password = conn.conf.get('nickserv_password', '')
@ -32,19 +38,19 @@ def onjoin(paraml, conn=None, bot=None):
nickserv_command = conn.conf.get('nickserv_command', 'IDENTIFY %s')
if nickserv_password:
if nickserv_password in bot.config['censored_strings']:
bot.config['censored_strings'].remove(nickserv_password)
bot.config['censored_strings'].remove(nickserv_password)
conn.msg(nickserv_name, nickserv_command % nickserv_password)
bot.config['censored_strings'].append(nickserv_password)
time.sleep(1)
mode = conn.conf.get('mode')
# Set bot modes
mode = conn.conf.get('mode')
if mode:
conn.cmd('MODE', [conn.nick, mode])
# Join config-defined channels
for channel in conn.channels:
conn.join(channel)
time.sleep(1)
time.sleep(1)
# HTTP Useragent
http.ua_cloudbot = 'CloudBot - http://git.io/cloudbot'

View file

@ -70,4 +70,4 @@ character_replacements = {
'W': 'Ŵ',
'X': 'Χ',
'Y': '',
'Z': 'Ż'}
'Z': 'Ż'}

View file

@ -5,12 +5,12 @@ from util import hook, molecular
import unicodedata
@hook.command()
def namegen(inp, say = None, nick = None, input=None, notice=None):
def namegen(inp, say=None, nick=None, input=None, notice=None):
".namegen [modules] -- Generates some names using the chosen modules. '.namegen list' will display a list of all modules."
gen = molecular.Molecule()
all_modules = gen.list_modules() # get a list of available name files
all_modules = gen.list_modules() # get a list of available name files
# return a list of all available modules
if inp == "list":
@ -21,13 +21,13 @@ def namegen(inp, say = None, nick = None, input=None, notice=None):
modules = []
selected_modules = inp.split(' ') # split the input into a list of modules
selected_modules = inp.split(' ') # split the input into a list of modules
for module in selected_modules: # loop over the "selected_modules" list, and load any valid modules
for module in selected_modules: # loop over the "selected_modules" list, and load any valid modules
if module in all_modules:
gen.load(module.encode('ascii'))
if not gen.name(): # lets try making a name to see if any modules actually got loaded
if not gen.name(): # lets try making a name to see if any modules actually got loaded
return "No valid modules specified :("
# time to generate some names and put them in a list

View file

@ -29,13 +29,13 @@ def gen_password(types):
needs_def = 1
#adds numbers
if "numeric" in types or "numbers" in types:
for x in range(0,10):
for x in range(0, 10):
okay.append(str(x))
else:
needs_def = 1
#adds symbols
if "symbols" in types:
sym = ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '=', '_', '+', '[', ']', '{', '}', '\\', '|', ';', ':', "'", '.', '>', ',', '<', '/', '?', '`', '~','"']
sym = ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '=', '_', '+', '[', ']', '{', '}', '\\', '|', ';', ':', "'", '.', '>', ',', '<', '/', '?', '`', '~', '"']
for x in sym:
okay.append(x)
else:

View file

@ -5,17 +5,16 @@ import random
potatoes = ['AC Belmont', 'AC Blue Pride', 'AC Brador', 'AC Chaleur', 'AC Domino', 'AC Dubuc', 'AC Glacier Chip', 'AC Maple Gold', 'AC Novachip', 'AC Peregrine Red', 'AC Ptarmigan', 'AC Red Island', 'AC Saguenor', 'AC Stampede Russet', 'AC Sunbury', 'Abeille', 'Abnaki', 'Acadia', 'Acadia Russet', 'Accent', 'Adirondack Blue', 'Adirondack Red', 'Adora', 'Agria', 'All Blue', 'All Red', 'Alpha', 'Alta Russet', 'Alturas Russet', 'Amandine', 'Amisk', 'Andover', 'Anoka', 'Anson', 'Aquilon', 'Arran Consul', 'Asterix', 'Atlantic', 'Austrian Crescent', 'Avalanche', 'Banana', 'Bannock Russet', 'Batoche', 'BeRus', 'Belle De Fonteney', 'Belleisle', 'Bintje', 'Blossom', 'Blue Christie', 'Blue Mac', 'Brigus', 'Brise du Nord', 'Butte', 'Butterfinger', 'Caesar', 'CalWhite', 'CalRed', 'Caribe', 'Carlingford', 'Carlton', 'Carola', 'Cascade', 'Castile', 'Centennial Russet', 'Century Russet', 'Charlotte', 'Cherie', 'Cherokee', 'Cherry Red', 'Chieftain', 'Chipeta', 'Coastal Russet', 'Colorado Rose', 'Concurrent', 'Conestoga', 'Cowhorn', 'Crestone Russet', 'Crispin', 'Cupids', 'Daisy Gold', 'Dakota Pearl', 'Defender', 'Delikat', 'Denali', 'Desiree', 'Divina', 'Dundrod', 'Durango Red', 'Early Rose', 'Elba', 'Envol', 'Epicure', 'Eramosa', 'Estima', 'Eva', 'Fabula', 'Fambo', 'Fremont Russet', 'French Fingerling', 'Frontier Russet', 'Fundy', 'Garnet Chile', 'Gem Russet', 'GemStar Russet', 'Gemchip', 'German Butterball', 'Gigant', 'Goldrush', 'Granola', 'Green Mountain', 'Haida', 'Hertha', 'Hilite Russet', 'Huckleberry', 'Hunter', 'Huron', 'IdaRose', 'Innovator', 'Irish Cobbler', 'Island Sunshine', 'Ivory Crisp', 'Jacqueline Lee', 'Jemseg', 'Kanona', 'Katahdin', 'Kennebec', "Kerr's Pink", 'Keswick', 'Keuka Gold', 'Keystone Russet', 'King Edward VII', 'Kipfel', 'Klamath Russet', 'Krantz', 'LaRatte', 'Lady Rosetta', 'Latona', 'Lemhi Russet', 'Liberator', 'Lili', 'MaineChip', 'Marfona', 'Maris Bard', 'Maris Piper', 'Matilda', 'Mazama', 'McIntyre', 'Michigan Purple', 'Millenium Russet', 'Mirton Pearl', 'Modoc', 'Mondial', 'Monona', 'Morene', 'Morning Gold', 'Mouraska', 'Navan', 'Nicola', 'Nipigon', 'Niska', 'Nooksack', 'NorValley', 'Norchip', 'Nordonna', 'Norgold Russet', 'Norking Russet', 'Norland', 'Norwis', 'Obelix', 'Ozette', 'Peanut', 'Penta', 'Peribonka', 'Peruvian Purple', 'Pike', 'Pink Pearl', 'Prospect', 'Pungo', 'Purple Majesty', 'Purple Viking', 'Ranger Russet', 'Reba', 'Red Cloud', 'Red Gold', 'Red La Soda', 'Red Pontiac', 'Red Ruby', 'Red Thumb', 'Redsen', 'Rocket', 'Rose Finn Apple', 'Rose Gold', 'Roselys', 'Rote Erstling', 'Ruby Crescent', 'Russet Burbank', 'Russet Legend', 'Russet Norkotah', 'Russet Nugget', 'Russian Banana', 'Saginaw Gold', 'Sangre', 'Sant<EFBFBD>', 'Satina', 'Saxon', 'Sebago', 'Shepody', 'Sierra', 'Silverton Russet', 'Simcoe', 'Snowden', 'Spunta', "St. John's", 'Summit Russet', 'Sunrise', 'Superior', 'Symfonia', 'Tolaas', 'Trent', 'True Blue', 'Ulla', 'Umatilla Russet', 'Valisa', 'Van Gogh', 'Viking', 'Wallowa Russet', 'Warba', 'Western Russet', 'White Rose', 'Willamette', 'Winema', 'Yellow Finn', 'Yukon Gold']
@hook.command
def potato(inp, me = None, input=None):
def potato(inp, me=None, input=None):
".potato <user> - Makes <user> a tasty little potato."
inp = inp.strip()
if not re.match("^[A-Za-z0-9_|.-\]\[]*$", inp.lower()):
return "I cant make a tasty potato for that user!"
potato_type = random.choice(potatoes)
size = random.choice(['small', 'little', 'mid-sized', 'medium-sized', 'large', 'gigantic'])
flavor = random.choice(['tasty', 'delectable', 'delicious', 'yummy', 'toothsome', 'scrumptious', 'luscious'])
method = random.choice(['bakes', 'fries', 'boils', 'microwaves'])
me("%s a %s %s %s potato for %s!" % (method, flavor, size, potato_type, inp))

View file

@ -13,7 +13,6 @@ def python(inp):
inp = inp.replace("~n", "\n")
res = http.get("http://eval.appspot.com/eval", statement=inp).splitlines()
if len(res) == 0:
return

View file

@ -46,17 +46,17 @@ def del_quote(db, chan, nick, add_nick, msg):
def get_quote_num(num, count, name):
"Returns the quote number desired from the database"
if num: # Make sure num is a number if it isn't false
if num: # Make sure num is a number if it isn't false
num = int(num)
if count == 0: # If there are no quotes in the database, raise an Exception.
if count == 0: # If there are no quotes in the database, raise an Exception.
raise Exception("No quotes found for %s." % name)
if num and num < 0: # If the selected quote is less than 0, count back if possible.
if num and num < 0: # If the selected quote is less than 0, count back if possible.
num = count + num + 1 if num + count > -1 else count + 1
if num and num > count: # If a number is given and and there are not enough quotes, raise an Exception.
if num and num > count: # If a number is given and and there are not enough quotes, raise an Exception.
raise Exception("I only have %d quote%s for %s." % (count, ('s', '')[count == 1], name))
if num and num == 0: # If the number is zero, set it to one
if num and num == 0: # If the number is zero, set it to one
num = 1
if not num: # If a number is not given, select a random one
if not num: # If a number is not given, select a random one
num = random.randint(1, count)
return num

View file

@ -146,7 +146,6 @@ def repaste(inp, input=None, db=None, isManual=True):
if parts[0] == 'list':
return " ".join(pasters.keys())
paster = paste_gist
args = {}
@ -178,4 +177,4 @@ def repaste(inp, input=None, db=None, isManual=True):
args["text"] = scraped
pasted = paster(**args)
return pasted
return pasted

View file

@ -9,6 +9,7 @@ from urllib import urlencode
class ShortenError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
@ -23,7 +24,7 @@ def bitly(url, user, apikey):
return "Could not shorten %s!" % url
@hook.command
def shorten(inp, bot = None):
def shorten(inp, bot=None):
".shorten <url> - Makes an j.mp/bit.ly shortlink to the url provided."
api_user = bot.config.get("api_keys", {}).get("bitly_user", None)
api_key = bot.config.get("api_keys", {}).get("bitly_api", None)
@ -32,7 +33,7 @@ def shorten(inp, bot = None):
return bitly(inp, api_user, api_key)
@hook.command
def expand(inp, bot = None):
def expand(inp, bot=None):
".expand <url> - Gets the original URL from a shortened link."
try:
url = http.get_url(inp)

View file

@ -30,7 +30,7 @@ items = ["cast iron skillet",
"chunk of dirt"]
@hook.command
def slap(inp, me = None, nick = None, input=None, notice=None):
def slap(inp, me=None, nick=None, input=None, notice=None):
".slap <user> -- Makes the bot slap <user>."
inp = inp.strip()
@ -48,4 +48,3 @@ def slap(inp, me = None, nick = None, input=None, notice=None):
msg = re.sub ('<item>', random.choice(items), slap)
me(msg)

View file

@ -20,4 +20,3 @@ def spell(inp):
return "That word appears to be valid! (suggestions: " + s_string + ")"
else:
return "That word appears to be invalid! (suggestions: " + s_string + ")"

View file

@ -31,7 +31,6 @@ def tellinput(paraml, input=None, db=None, bot=None):
db_init(db)
tells = get_tells(db, input.nick)
if tells:

View file

@ -1,17 +1,19 @@
# MyGengo translation plugin by lukeroge and neersighted
from util import hook, http
import re, htmlentitydefs
from util import hook
from util import http
import re
import htmlentitydefs
import mygengo
gengo = mygengo.MyGengo(
public_key = 'PlwtF1CZ2tu27IdX_SXNxTFmfN0j|_-pJ^Rf({O-oLl--r^QM4FygRdt^jusSSDE',
private_key = 'wlXpL=SU[#JpPu[dQaf$v{S3@rg[=95$$TA(k$sb3_6~B_zDKkTbd4#hXxaorIae',
sandbox = False,
public_key='PlwtF1CZ2tu27IdX_SXNxTFmfN0j|_-pJ^Rf({O-oLl--r^QM4FygRdt^jusSSDE',
private_key='wlXpL=SU[#JpPu[dQaf$v{S3@rg[=95$$TA(k$sb3_6~B_zDKkTbd4#hXxaorIae',
sandbox=False,
)
def gengo_translate(text, source, target):
try:
translation = gengo.postTranslationJob(job = {
translation = gengo.postTranslationJob(job={
'type': 'text',
'slug': 'Translating '+source+' to '+target+' with the myGengo API',
'body_src': text,
@ -111,4 +113,3 @@ lang_pairs = [
("cy", "Welsh"),
("yi", "Yiddish")
]

View file

@ -84,7 +84,7 @@ def get_episode_info(episode, api_key):
@hook.command
@hook.command('tv')
def tv_next(inp, bot = None):
def tv_next(inp, bot=None):
".tv <series> -- Get the next episode of <series>."
api_key = bot.config.get("api_keys", {}).get("tvdb", None)
@ -134,7 +134,7 @@ def tv_next(inp, bot = None):
@hook.command
@hook.command('tv_prev')
def tv_last(inp, bot = None):
def tv_last(inp, bot=None):
".tv_last <series> -- Gets the most recently aired episode of <series>."
api_key = bot.config.get("api_keys", {}).get("tvdb", None)

View file

@ -26,28 +26,28 @@ history = []
history_max_size = 250
def parseDateTime(s):
if s is None:
return None
m = re.match(r'(.*?)(?:\.(\d+))?(([-+]\d{1,2}):(\d{2}))?$',
str(s))
datestr, fractional, tzname, tzhour, tzmin = m.groups()
if s is None:
return None
m = re.match(r'(.*?)(?:\.(\d+))?(([-+]\d{1,2}):(\d{2}))?$',
str(s))
datestr, fractional, tzname, tzhour, tzmin = m.groups()
if tzname is None:
tz = None
else:
tzhour, tzmin = int(tzhour), int(tzmin)
if tzhour == tzmin == 0:
tzname = 'UTC'
tz = FixedOffset(timedelta(hours=tzhour,
minutes=tzmin), tzname)
if tzname is None:
tz = None
else:
tzhour, tzmin = int(tzhour), int(tzmin)
if tzhour == tzmin == 0:
tzname = 'UTC'
tz = FixedOffset(timedelta(hours=tzhour,
minutes=tzmin), tzname)
x = datetime.strptime(datestr, "%Y-%m-%d %H:%M:%S")
if fractional is None:
fractional = '0'
fracpower = 6 - len(fractional)
fractional = float(fractional) * (10 ** fracpower)
return x.replace(microsecond=int(fractional), tzinfo=tz)
x = datetime.strptime(datestr, "%Y-%m-%d %H:%M:%S")
if fractional is None:
fractional = '0'
fracpower = 6 - len(fractional)
fractional = float(fractional) * (10 ** fracpower)
return x.replace(microsecond=int(fractional), tzinfo=tz)
@hook.command