--- a/Network/IRC/IrcWidget.py Tue Oct 15 22:03:54 2013 +0200 +++ b/Network/IRC/IrcWidget.py Fri Oct 18 23:00:41 2013 +0200 @@ -63,11 +63,14 @@ self.__ircNetworkManager = IrcNetworkManager(self) self.__leaveButton = QToolButton(self) - self.__leaveButton.setIcon(UI.PixmapCache.getIcon("ircCloseChannel.png")) - self.__leaveButton.setToolTip(self.trUtf8("Press to leave the current channel")) + self.__leaveButton.setIcon( + UI.PixmapCache.getIcon("ircCloseChannel.png")) + self.__leaveButton.setToolTip( + self.trUtf8("Press to leave the current channel")) self.__leaveButton.clicked[()].connect(self.__leaveChannel) self.__leaveButton.setEnabled(False) - self.channelsWidget.setCornerWidget(self.__leaveButton, Qt.BottomRightCorner) + self.channelsWidget.setCornerWidget( + self.__leaveButton, Qt.BottomRightCorner) self.channelsWidget.setTabsClosable(False) if not isMacPlatform(): self.channelsWidget.setTabPosition(QTabWidget.South) @@ -99,11 +102,14 @@ self.__patterns = [ # :foo_!n=foo@foohost.bar.net PRIVMSG bar_ :some long message - (re.compile(r":([^!]+)!([^ ]+)\sPRIVMSG\s([^ ]+)\s:(.*)"), self.__query), + (re.compile(r":([^!]+)!([^ ]+)\sPRIVMSG\s([^ ]+)\s:(.*)"), + self.__query), # :foo.bar.net COMMAND some message - (re.compile(r""":([^ ]+)\s+([A-Z]+)\s+(.+)"""), self.__handleNamedMessage), + (re.compile(r""":([^ ]+)\s+([A-Z]+)\s+(.+)"""), + self.__handleNamedMessage), # :foo.bar.net 123 * :info - (re.compile(r""":([^ ]+)\s+(\d{3})\s+(.+)"""), self.__handleNumericMessage), + (re.compile(r""":([^ ]+)\s+(\d{3})\s+(.+)"""), + self.__handleNumericMessage), # PING :ping message (re.compile(r"""PING\s+:(.*)"""), self.__ping), ] @@ -137,9 +143,10 @@ if Preferences.getIrc("AskOnShutdown"): ok = E5MessageBox.yesNo(self, self.trUtf8("Disconnect from Server"), - self.trUtf8("""<p>Do you really want to disconnect from""" - """ <b>{0}</b>?</p><p>All channels will be closed.""" - """</p>""").format(self.__server.getName())) + self.trUtf8( + """<p>Do you really want to disconnect from""" + """ <b>{0}</b>?</p><p>All channels will be closed.""" + """</p>""").format(self.__server.getName())) else: ok = True if ok: @@ -176,7 +183,8 @@ if network: self.__server = network.getServer() self.__identityName = network.getIdentityName() - identity = self.__ircNetworkManager.getIdentity(self.__identityName) + identity = self.__ircNetworkManager.getIdentity( + self.__identityName) self.__userName = identity.getIdent() self.__quitMessage = identity.getQuitMessage() if self.__server: @@ -184,9 +192,11 @@ if useSSL and not SSL_AVAILABLE: E5MessageBox.critical(self, self.trUtf8("SSL Connection"), - self.trUtf8("""An encrypted connection to the IRC network""" - """ was requested but SSL is not available.""" - """ Please change the server configuration.""")) + self.trUtf8( + """An encrypted connection to the IRC""" + """ network was requested but SSL is not""" + """ available. Please change the server""" + """ configuration.""")) return if useSSL: @@ -205,16 +215,21 @@ self.__connectionState = IrcWidget.ServerConnecting if useSSL: - self.networkWidget.addServerMessage(self.trUtf8("Info"), - self.trUtf8("Looking for server {0} (port {1}) using" - " an SSL encrypted connection...").format( - self.__server.getName(), self.__server.getPort())) - self.__socket.connectToHostEncrypted(self.__server.getName(), - self.__server.getPort()) + self.networkWidget.addServerMessage( + self.trUtf8("Info"), + self.trUtf8("Looking for server {0} (port {1})" + " using an SSL encrypted connection" + "...").format(self.__server.getName(), + self.__server.getPort())) + self.__socket.connectToHostEncrypted( + self.__server.getName(), self.__server.getPort()) else: - self.networkWidget.addServerMessage(self.trUtf8("Info"), - self.trUtf8("Looking for server {0} (port {1})...").format( - self.__server.getName(), self.__server.getPort())) + self.networkWidget.addServerMessage( + self.trUtf8("Info"), + self.trUtf8( + "Looking for server {0} (port {1})...").format( + self.__server.getName(), + self.__server.getPort())) self.__socket.connectToHost(self.__server.getName(), self.__server.getPort()) else: @@ -305,7 +320,7 @@ """ Private method to handle a new private connection. - @param reference to the match object + @param match reference to the match object @return flag indicating, if the message was handled (boolean) """ # group(1) sender user name @@ -319,7 +334,8 @@ # the above call sets the new channel as the current widget channel = self.channelsWidget.currentWidget() channel.addMessage(match.group(1), match.group(4)) - channel.setPrivateInfo("{0} - {1}".format(match.group(1), match.group(2))) + channel.setPrivateInfo( + "{0} - {1}".format(match.group(1), match.group(2))) return True @@ -379,7 +395,8 @@ """ for channel in self.__channelList: if channel.name() == name: - self.channelsWidget.removeTab(self.channelsWidget.indexOf(channel)) + self.channelsWidget.removeTab( + self.channelsWidget.indexOf(channel)) self.__channelList.remove(channel) channel.deleteLater() @@ -407,7 +424,8 @@ @param data data to be sent (string) """ if self.__socket: - self.__socket.write(QByteArray("{0}\r\n".format(data).encode("utf-8"))) + self.__socket.write( + QByteArray("{0}\r\n".format(data).encode("utf-8"))) def __sendCtcpReply(self, receiver, text): """ @@ -427,7 +445,8 @@ def __hostConnected(self): """ - Private slot to log in to the server after the connection was established. + Private slot to log in to the server after the connection was + established. """ self.networkWidget.addServerMessage(self.trUtf8("Info"), self.trUtf8("Connected,logging in...")) @@ -441,15 +460,16 @@ if not nick: self.__nickIndex = 0 try: - nick = self.__ircNetworkManager.getIdentity(self.__identityName)\ - .getNickNames()[self.__nickIndex] + nick = self.__ircNetworkManager.getIdentity( + self.__identityName).getNickNames()[self.__nickIndex] except IndexError: nick = "" if not nick: nick = self.__userName self.__nickName = nick self.networkWidget.setNickName(nick) - realName = self.__ircNetworkManager.getIdentity(self.__identityName).getRealName() + realName = self.__ircNetworkManager.getIdentity( + self.__identityName).getRealName() if not realName: realName = "eric IDE chat" self.__send("NICK " + nick) @@ -506,8 +526,9 @@ # Oops, the message wasn't handled self.networkWidget.addErrorMessage( self.trUtf8("Message Error"), - self.trUtf8("Unknown message received from server:" - "<br/>{0}").format(line)) + self.trUtf8( + "Unknown message received from server:" + "<br/>{0}").format(line)) self.__updateUsersCount() self.__buffer = "" @@ -516,7 +537,7 @@ """ Private method to handle a server message containing a message name. - @param reference to the match object + @param match reference to the match object @return flag indicating, if the message was handled (boolean) """ name = match.group(2) @@ -540,12 +561,12 @@ if name == self.__nickName: if sourceNick == self.__nickName: msg = self.trUtf8( - "You have set your personal modes to <b>[{0}]</b>.")\ - .format(modes) + "You have set your personal modes to" + " <b>[{0}]</b>.").format(modes) else: msg = self.trUtf8( - "{0} has changed your personal modes to <b>[{1}]</b>.")\ - .format(sourceNick, modes) + "{0} has changed your personal modes to" + " <b>[{1}]</b>.").format(sourceNick, modes) self.networkWidget.addServerMessage( self.trUtf8("Mode"), msg, filterMsg=False) return True @@ -584,14 +605,16 @@ """ Private method to handle a server message containing a numeric code. - @param reference to the match object + @param match reference to the match object @return flag indicating, if the message was handled (boolean) """ code = int(match.group(2)) if code < 400: - return self.__handleServerReply(code, match.group(1), match.group(3)) + return self.__handleServerReply( + code, match.group(1), match.group(3)) else: - return self.__handleServerError(code, match.group(1), match.group(3)) + return self.__handleServerError( + code, match.group(1), match.group(3)) def __handleServerError(self, code, server, message): """ @@ -643,15 +666,18 @@ elif code == 4: parts = message.strip().split() message = self.trUtf8("Server {0} (Version {1}), User-Modes: {2}," - " Channel-Modes: {3}").format(parts[1], parts[2], parts[3], parts[4]) + " Channel-Modes: {3}").format( + parts[1], parts[2], parts[3], parts[4]) elif code == 265: parts = message.strip().split() - message = self.trUtf8("Current users on {0}: {1}, max. {2}").format( - server, parts[1], parts[2]) + message = self.trUtf8( + "Current users on {0}: {1}, max. {2}").format( + server, parts[1], parts[2]) elif code == 266: parts = message.strip().split() - message = self.trUtf8("Current users on the network: {0}, max. {1}").format( - parts[1], parts[2]) + message = self.trUtf8( + "Current users on the network: {0}, max. {1}").format( + parts[1], parts[2]) elif code == 305: message = self.trUtf8("You are no longer marked as being away.") elif code == 306: @@ -697,7 +723,8 @@ def __autoJoinChannels(self): """ - Private slot to join channels automatically once a server got connected. + Private slot to join channels automatically once a server got + connected. """ for channel in self.networkWidget.getNetworkChannels(): if channel.autoJoin(): @@ -716,26 +743,30 @@ # ignore this one, it's a disconnect if self.__sslErrorLock: self.networkWidget.addErrorMessage(self.trUtf8("SSL Error"), - self.trUtf8("""Connection to server {0} (port {1}) lost while""" - """ waiting for user response to an SSL error.""").format( - self.__server.getName(), self.__server.getPort())) + self.trUtf8( + """Connection to server {0} (port {1}) lost while""" + """ waiting for user response to an SSL error.""") + .format(self.__server.getName(), self.__server.getPort())) self.__connectionState = IrcWidget.ServerDisconnected elif error == QAbstractSocket.HostNotFoundError: self.networkWidget.addErrorMessage(self.trUtf8("Socket Error"), - self.trUtf8("The host was not found. Please check the host name" - " and port settings.")) + self.trUtf8( + "The host was not found. Please check the host name" + " and port settings.")) elif error == QAbstractSocket.ConnectionRefusedError: self.networkWidget.addErrorMessage(self.trUtf8("Socket Error"), - self.trUtf8("The connection was refused by the peer. Please check the" - " host name and port settings.")) + self.trUtf8( + "The connection was refused by the peer. Please check the" + " host name and port settings.")) elif error == QAbstractSocket.SslHandshakeFailedError: self.networkWidget.addErrorMessage(self.trUtf8("Socket Error"), self.trUtf8("The SSL handshake failed.")) else: if self.__socket: self.networkWidget.addErrorMessage(self.trUtf8("Socket Error"), - self.trUtf8("The following network error occurred:<br/>{0}").format( - self.__socket.errorString())) + self.trUtf8( + "The following network error occurred:<br/>{0}") + .format(self.__socket.errorString())) else: self.networkWidget.addErrorMessage(self.trUtf8("Socket Error"), self.trUtf8("A network error occurred.")) @@ -750,10 +781,11 @@ errors, self.__server.getName(), self.__server.getPort()) if ignored == E5SslErrorHandler.NotIgnored: self.networkWidget.addErrorMessage(self.trUtf8("SSL Error"), - self.trUtf8("""Could not connect to {0} (port {1}) using an SSL""" - """ encrypted connection. Either the server does not""" - """ support SSL (did you use the correct port?) or""" - """ you rejected the certificate.""").format( + self.trUtf8( + """Could not connect to {0} (port {1}) using an SSL""" + """ encrypted connection. Either the server does not""" + """ support SSL (did you use the correct port?) or""" + """ you rejected the certificate.""").format( self.__server.getName(), self.__server.getPort())) self.__socket.close() else: @@ -762,9 +794,10 @@ QSslConfiguration.defaultConfiguration()) if ignored == E5SslErrorHandler.UserIgnored: self.networkWidget.addErrorMessage(self.trUtf8("SSL Error"), - self.trUtf8("""The SSL certificate for the server {0} (port {1})""" - """ failed the authenticity check. SSL errors""" - """ were accepted by you.""").format( + self.trUtf8( + """The SSL certificate for the server {0} (port {1})""" + """ failed the authenticity check. SSL errors""" + """ were accepted by you.""").format( self.__server.getName(), self.__server.getPort())) if self.__connectionState == IrcWidget.ServerConnecting: self.__socket.ignoreSslErrors() @@ -787,7 +820,7 @@ """ Private method to handle a PING message. - @param reference to the match object + @param match reference to the match object @return flag indicating, if the message was handled (boolean) """ self.__send("PONG " + match.group(1)) @@ -797,7 +830,7 @@ """ Private method to handle a CTCP command. - @param reference to the match object + @param match reference to the match object @return flag indicating, if the message was handled (boolean) """ # group(1) sender user name @@ -825,7 +858,8 @@ self.networkWidget.addServerMessage(self.trUtf8("CTCP"), self.trUtf8("Received CTCP-PING request from {0}," " sending answer.").format(match.group(1))) - self.__sendCtcpReply(match.group(1), "PING {0}".format(ctcpArg)) + self.__sendCtcpReply( + match.group(1), "PING {0}".format(ctcpArg)) elif ctcpRequest == "clientinfo": self.networkWidget.addServerMessage(self.trUtf8("CTCP"), self.trUtf8("Received CTCP-CLIENTINFO request from {0}," @@ -834,7 +868,8 @@ "CLIENTINFO CLIENTINFO PING VERSION") else: self.networkWidget.addServerMessage(self.trUtf8("CTCP"), - self.trUtf8("Received unknown CTCP-{0} request from {1}.").format( + self.trUtf8( + "Received unknown CTCP-{0} request from {1}.").format( ctcpRequest, match.group(1))) return True @@ -860,10 +895,13 @@ .getNickNames()[self.__nickIndex] self.__nickName = nick except IndexError: - self.networkWidget.addServerMessage(self.trUtf8("Critical"), - self.trUtf8("No nickname acceptable to the server configured" - " for <b>{0}</b>. Disconnecting...").format(self.__userName), - filterMsg=False) + self.networkWidget.addServerMessage( + self.trUtf8("Critical"), + self.trUtf8( + "No nickname acceptable to the server configured" + " for <b>{0}</b>. Disconnecting...").format( + self.__userName), + filterMsg=False) self.__connectNetwork("", False, silent=True) self.__nickName = "" self.__nickIndex = -1 @@ -898,8 +936,9 @@ def isChannelName(self, name): """ - PublicisChannelName method to check, if the given name is a channel name. + Public method to check, if the given name is a channel name. + @param name name to check (string) @return flag indicating a channel name (boolean) """ if not name: @@ -917,7 +956,8 @@ @param isAway flag indicating the current away state (boolean) """ if isAway and self.__identityName: - identity = self.__ircNetworkManager.getIdentity(self.__identityName) + identity = self.__ircNetworkManager.getIdentity( + self.__identityName) if identity.rememberAwayPosition(): for channel in self.__channelList: channel.setMarkerLine()