Fix oldtopic encoding issue
- If the oldtopic had non-ascii characters in it, it would have failed to restore it. This fixes that. - Some other rearrangement to support this. darcs-hash:20090712235408-82ea9-da0844509fef51838e773898f02b7ef704005e40.gz
This commit is contained in:
parent
08449b8989
commit
d7f080dfb0
14
meeting.py
14
meeting.py
|
@ -366,12 +366,22 @@ class Meeting(MeetingCommands, object):
|
|||
_lurk = False
|
||||
_restrictlogs = False
|
||||
def __init__(self, channel, owner, oldtopic=None,
|
||||
filename=None, writeRawLog=False):
|
||||
filename=None, writeRawLog=False,
|
||||
setTopic=None, sendReply=None, getRegistryValue=None):
|
||||
self.config = Config(self)
|
||||
if getRegistryValue is not None:
|
||||
self._registryValue = getRegistryValue
|
||||
if sendReply is not None:
|
||||
self._sendReply = sendReply
|
||||
if setTopic is not None:
|
||||
self._setTopic = setTopic
|
||||
self.owner = owner
|
||||
self.channel = channel
|
||||
self.currenttopic = ""
|
||||
self.oldtopic = oldtopic
|
||||
if oldtopic:
|
||||
self.oldtopic = self.config.dec(oldtopic)
|
||||
else:
|
||||
self.oldtopic = None
|
||||
self.lines = [ ]
|
||||
self.minutes = [ ]
|
||||
self.attendees = { }
|
||||
|
|
15
plugin.py
15
plugin.py
|
@ -90,19 +90,18 @@ class MeetBot(callbacks.Plugin):
|
|||
if M is not None:
|
||||
irc.error("Can't start another meeting, one is in progress.")
|
||||
return
|
||||
M = meeting.Meeting(channel=channel, owner=nick,
|
||||
oldtopic=irc.state.channels[channel].topic,
|
||||
writeRawLog=True)
|
||||
meeting_cache[Mkey] = M
|
||||
# This callback is used to send data to the channel:
|
||||
def _setTopic(x):
|
||||
irc.sendMsg(ircmsgs.topic(channel, x))
|
||||
def _sendReply(x):
|
||||
irc.sendMsg(ircmsgs.privmsg(channel, x))
|
||||
M._setTopic = _setTopic
|
||||
M._sendReply = _sendReply
|
||||
# callback to get supybot registry values.
|
||||
M._registryValue = self.registryValue
|
||||
M = meeting.Meeting(channel=channel, owner=nick,
|
||||
oldtopic=irc.state.channels[channel].topic,
|
||||
writeRawLog=True,
|
||||
setTopic = _setTopic, sendReply = _sendReply,
|
||||
getRegistryValue = self.registryValue,
|
||||
)
|
||||
meeting_cache[Mkey] = M
|
||||
recent_meetings.append(
|
||||
(channel, irc.msg.tags['receivedOn'], time.ctime()))
|
||||
if len(recent_meetings) > 10:
|
||||
|
|
Loading…
Reference in New Issue