chiark
/
gitweb
/
~matthewv
/
irc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
blame: Move blame db information into the cfg
[irc.git]
/
commands.py
diff --git
a/commands.py
b/commands.py
index 2864bb9de6ae05b1a9c867738e79fafedbc352f8..a8499587f222c016b408000b72059b5e7314f431 100755
(executable)
--- a/
commands.py
+++ b/
commands.py
@@
-1,8
+1,13
@@
# Part of Acrobat.
# Part of Acrobat.
-import string, cPickle, random, urllib, sys, time, re, os, twitter, subprocess, datetime, urlparse
+import string, cPickle, random, urllib, sys, time, re, os, twitter, subprocess, datetime, urlparse
, hashlib
from collections import defaultdict
from irclib import irc_lower, nm_to_n
from collections import defaultdict
from irclib import irc_lower, nm_to_n
+try:
+ from blame_filter import bfd
+except ImportError:
+ bfd = None
+
# query karma
def karmaq(bot, cmd, nick, conn, public, karma):
try:
# query karma
def karmaq(bot, cmd, nick, conn, public, karma):
try:
@@
-89,6
+94,7
@@
def troutq(bot, cmd, nick, conn, public, cfg):
me = bot.connection.get_nickname()
trout_msg = random.choice(fishlist)
fishpond.last=trout_msg
me = bot.connection.get_nickname()
trout_msg = random.choice(fishlist)
fishpond.last=trout_msg
+ fishpond.last_cfg=cfg
# The bot won't trout or flirt with itself;
if irc_lower(me) == irc_lower(target) or irc_lower(target) in synonyms:
target = nick
# The bot won't trout or flirt with itself;
if irc_lower(me) == irc_lower(target) or irc_lower(target) in synonyms:
target = nick
@@
-130,6
+136,7
@@
def slashq(bot, cmd, nick, conn, public, cfg):
me = bot.connection.get_nickname()
slash_msg = random.choice(fishlist)
fishpond.last=slash_msg
me = bot.connection.get_nickname()
slash_msg = random.choice(fishlist)
fishpond.last=slash_msg
+ fishpond.last_cfg=cfg
# The bot won't slash people with themselves
if irc_lower(who[0]) == irc_lower(who[1]):
conn.notice(nick, "oooooh no missus!")
# The bot won't slash people with themselves
if irc_lower(who[0]) == irc_lower(who[1]):
conn.notice(nick, "oooooh no missus!")
@@
-279,8
+286,12
@@
def __getcommitinfo(commit):
return(err)
ts,mes=out.split('|')
return(err)
ts,mes=out.split('|')
+ mes=mes.strip()
+ md5mes=hashlib.md5(mes).hexdigest()
+ if bfd and md5mes in bfd:
+ mes=bfd[md5mes]
when=datetime.date.fromtimestamp(float(ts))
when=datetime.date.fromtimestamp(float(ts))
- return mes
.strip()
, when
+ return mes, when
###Return an array of commit messages and timestamps for lines in db that match what
def __getcommits(db,keys,what):
###Return an array of commit messages and timestamps for lines in db that match what
def __getcommits(db,keys,what):
@@
-303,7
+314,10
@@
def __getall(tdb,tdbk,fdb,fdbk,sdb,sdbk,what):
sans=__getcommits(sdb,sdbk,what)
return tans+fans+sans
sans=__getcommits(sdb,sdbk,what)
return tans+fans+sans
-def blameq(bot,cmd,nick,conn,public,fish,tdb,tdbk,fdb,fdbk,sdb,sdbk):
+def blameq(bot,cmd,nick,conn,public,fish,cfgs):
+ tdb,tdbk = cfgs[0][7] # urgh, magic, to support magic knowledge below
+ fdb,fdbk = cfgs[1][7]
+ sdb,sdbk = cfgs[2][7]
clist=cmd.split()
if len(clist) < 2:
bot.automsg(public,nick,"Who or what do you want to blame?")
clist=cmd.split()
if len(clist) < 2:
bot.automsg(public,nick,"Who or what do you want to blame?")
@@
-403,7
+417,7
@@
class UrlLog:
n=time.localtime(time.time())
s="%02d:%02d" % (self.localfirst.tm_hour,self.localfirst.tm_min)
if n.tm_yday != self.localfirst.tm_yday:
n=time.localtime(time.time())
s="%02d:%02d" % (self.localfirst.tm_hour,self.localfirst.tm_min)
if n.tm_yday != self.localfirst.tm_yday:
- s+=time.strftime(" on %d %B",
n
)
+ s+=time.strftime(" on %d %B",
self.localfirst
)
return s
def urltype(self):
z=min(len(urlinfos)-1, self.count-1)
return s
def urltype(self):
z=min(len(urlinfos)-1, self.count-1)
@@
-517,9
+531,9
@@
def getTweet(urlstring,twitapi,inclusion=False,recurlvl=0):
unobfuscate_urls=True
expand_included_tweets=True
stringsout=[]
unobfuscate_urls=True
expand_included_tweets=True
stringsout=[]
-
- pa
rts = string.split(urlstring,'/')
- tweetID = pa
rts
[-1]
+
+ pa
th = urlparse.urlparse(urlstring).path
+ tweetID = pa
th.split('/')
[-1]
try:
status = twitapi.GetStatus(tweetID)
if status == {}:
try:
status = twitapi.GetStatus(tweetID)
if status == {}: