summaryrefslogtreecommitdiff
path: root/logger.py
diff options
context:
space:
mode:
authorBrian Sherson <caretaker82@euclid.shersonb.net>2014-02-09 13:25:02 -0800
committerBrian Sherson <caretaker82@euclid.shersonb.net>2014-02-09 13:25:02 -0800
commitdba21d3b8b4b4252fd6d95a9d1cc92e968e9b56d (patch)
tree9abe9285da6874fffcd013b40b106ae36ffdf4c3 /logger.py
parent0796b792efad1d9ec86f53a0a3988c29d6d6683b (diff)
Add Unicode support
Diffstat (limited to 'logger.py')
-rw-r--r--logger.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/logger.py b/logger.py
index 848bb33..c2bd571 100644
--- a/logger.py
+++ b/logger.py
@@ -13,6 +13,7 @@ import Queue
import ssl
import urllib2
import irc
+import codecs
modemapping = dict(Y="ircop", q="owner",
a="admin", o="op", h="halfop", v="voice")
@@ -135,13 +136,13 @@ class Logger(Thread):
timestamp = reduce(lambda x, y: x + ":" + y, [
str(t).rjust(2, "0") for t in now[0:6]])
if type(window) == irc.Connection:
- log = self.logs[window] = open(
- os.path.join(self.logroot, self.labels[window], "console-%04d.%02d.%02d.log" % now[:3]), "a")
+ log = self.logs[window] = codecs.open(
+ os.path.join(self.logroot, self.labels[window], "console-%04d.%02d.%02d.log" % now[:3]), "a", encoding="utf8")
print >>log, "%s ### Log file opened" % (irc.timestamp())
elif type(window) == irc.Channel:
label = self.labels[window.context]
- log = self.logs[window] = open(os.path.join(self.logroot, label, "channel-%s-%04d.%02d.%02d.log" % (
- (urllib2.quote(window.name.lower()).replace("/", "%2f"),) + now[:3])), "a")
+ log = self.logs[window] = codecs.open(os.path.join(self.logroot, label, "channel-%s-%04d.%02d.%02d.log" % (
+ (urllib2.quote(window.name.lower()).replace("/", "%2f"),) + now[:3])), "a", encoding="utf8")
print >>log, "%s ### Log file opened" % (irc.timestamp())
self.logs[window].flush()
if window.context.identity in window.users:
@@ -185,7 +186,8 @@ class Logger(Thread):
del self.logs[other]
self.logs[window] = log
if window not in self.logs.keys():
- log = self.logs[window] = open(logname, "a")
+ log = self.logs[window] = codecs.open(
+ logname, "a", encoding="utf8")
else:
log = self.logs[window]
print >>log, "%s ### Log file opened" % (irc.timestamp())
@@ -579,8 +581,12 @@ class Logger(Thread):
def onTopicSet(self, IRC, user, channel, topic):
# Called when channel topic is changed.
ts = irc.timestamp()
- print >>self.logs[channel], "%s <<< :%s!%s@%s TOPIC %s :%s" % (
- ts, user.nick, user.username, user.host, channel.name, topic)
+ if type(user) == irc.User:
+ print >>self.logs[channel], "%s <<< :%s!%s@%s TOPIC %s :%s" % (
+ ts, user.nick, user.username, user.host, channel.name, topic)
+ else:
+ print >>self.logs[channel], "%s <<< :%s TOPIC %s :%s" % (
+ ts, user, channel.name, topic)
self.logs[channel].flush()
def onChanModeSet(self, IRC, user, channel, modedelta):
@@ -650,7 +656,7 @@ class Logger(Thread):
ts, IRC.serv, IRC.identity.nick, channel.name, created)
log.flush()
- def onUnhandled(self, IRC, line, origin, cmd, target, params, extinfo):
+ def onUnhandled(self, IRC, line, origin, cmd, target, params, extinfo, targetprefix):
ts = irc.timestamp()
print >>self.logs[IRC], "%s <<< %s" % (ts, line)
self.logs[IRC].flush()