From 48ff9a79c25240077fe62dd47519dc6e0cbe04d2 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Tue, 1 Jun 2021 12:50:33 +1000 Subject: [PATCH] Remove encode/decode wrappers This is causing string/binary issues with Python 3. Everything seems happy with (Python3 unicode) strings, so remove these wrappers. Change-Id: I264c1bdae4acda671021bc7055ade099509fcbd1 --- ircmeeting/meeting.py | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/ircmeeting/meeting.py b/ircmeeting/meeting.py index 99cb771..6483a04 100644 --- a/ircmeeting/meeting.py +++ b/ircmeeting/meeting.py @@ -101,14 +101,6 @@ class Config(object): "Minutes: %(urlBasename)s.html\n" "Minutes (text): %(urlBasename)s.txt\n" "Log: %(urlBasename)s.log.html") - # Input/output codecs. - input_codec = 'utf-8' - output_codec = 'utf-8' - # Functions to do the i/o conversion. - def enc(self, text): - return text.encode(self.output_codec, 'replace') - def dec(self, text): - return text.decode(self.input_codec, 'replace') # Write out select logfiles update_realtime = True # CSS configs: @@ -220,8 +212,6 @@ class Config(object): # If it doesn't, then it's assumed that the write took # care of writing (or publishing or emailing or wikifying) # it itself. - if isinstance(text, str): - text = self.enc(text) if isinstance(text, str): # Have a way to override saving, so no disk files are written. if getattr(self, "dontSave", False): @@ -379,8 +369,7 @@ class MeetingCommands(object): if not chair: continue if chair not in self.chairs: if self._channelNicks is not None and \ - ( chair.encode(self.config.input_codec) - not in self._channelNicks()): + ( chair not in self._channelNicks()): self.reply("Warning: Nick not in channel: %s"%chair) self.addnick(chair, lines=0) self.chairs.setdefault(chair, True) @@ -535,7 +524,6 @@ class MeetingCommands(object): commands = [ "#"+x[3:] for x in dir(self) if x[:3]=="do_" ] commands.sort() self.reply("Available commands: "+(" ".join(commands))) - class Meeting(MeetingCommands, object): @@ -560,7 +548,7 @@ class Meeting(MeetingCommands, object): self.config = Config(self, writeRawLog=writeRawLog, safeMode=safeMode, extraConfig=extraConfig) if oldtopic: - self.oldtopic = self.config.dec(oldtopic) + self.oldtopic = oldtopic else: self.oldtopic = None self.lines = [ ] @@ -583,15 +571,15 @@ class Meeting(MeetingCommands, object): def reply(self, x): """Send a reply to the IRC channel.""" if hasattr(self, '_sendReply') and not self._lurk: - self._sendReply(self.config.enc(x)) + self._sendReply(x) else: - print("REPLY:", self.config.enc(x)) + print("REPLY:", x) def topic(self, x): """Set the topic in the IRC channel.""" if hasattr(self, '_setTopic') and not self._lurk: - self._setTopic(self.config.enc(x)) + self._setTopic(x) else: - print("TOPIC:", self.config.enc(x)) + print("TOPIC:", x) def settopic(self): "The actual code to set the topic" if self._meetingTopic: @@ -615,8 +603,6 @@ class Meeting(MeetingCommands, object): linenum = self.addrawline(nick, line, time_) if time_ is None: time_ = time.localtime() - nick = self.config.dec(nick) - line = self.config.dec(line) # Handle any commands given in the line. matchobj = self.config.command_RE.match(line) @@ -637,8 +623,6 @@ class Meeting(MeetingCommands, object): def addrawline(self, nick, line, time_=None): """This adds a line to the log, bypassing command execution. """ - nick = self.config.dec(nick) - line = self.config.dec(line) self.addnick(nick) line = line.strip(' \x01') # \x01 is present in ACTIONs # Setting a custom time is useful when replying logs,