diff --git a/src/bitmessageqt/bitmessageui.py b/src/bitmessageqt/bitmessageui.py index bee8fd571a..e71587cafe 100644 --- a/src/bitmessageqt/bitmessageui.py +++ b/src/bitmessageqt/bitmessageui.py @@ -25,17 +25,34 @@ def _fromUtf8(s): try: _encoding = QtGui.QApplication.UnicodeUTF8 - def _translate(context, text, disambig, encoding=QtCore.QCoreApplication.CodecForTr, n=None): + # pylint: disable=unused-argument + def _translate(context, text, disambig, + encoding=QtCore.QCoreApplication.CodecForTr, n=None): if n is None: - return QtGui.QApplication.translate(context, text, disambig, _encoding) + return QtGui.QApplication.translate(context, + text, + disambig, + _encoding) else: - return QtGui.QApplication.translate(context, text, disambig, _encoding, n) + return QtGui.QApplication.translate(context, + text, + disambig, + _encoding, + n) except AttributeError: - def _translate(context, text, disambig, encoding=QtCore.QCoreApplication.CodecForTr, n=None): + # pylint: disable=unused-argument + def _translate(context, text, disambig, + encoding=QtCore.QCoreApplication.CodecForTr, n=None): if n is None: - return QtGui.QApplication.translate(context, text, disambig) + return QtGui.QApplication.translate(context, + text, + disambig) else: - return QtGui.QApplication.translate(context, text, disambig, QtCore.QCoreApplication.CodecForTr, n) + return QtGui.QApplication.translate(context, + text, + disambig, + QtCore.QCoreApplication.CodecForTr, + n) class Ui_MainWindow(object): @@ -44,7 +61,8 @@ def setupUi(self, MainWindow): MainWindow.resize(885, 580) icon = QtGui.QIcon() icon.addPixmap( - QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-24px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off + QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-24px.png")), + QtGui.QIcon.Normal, QtGui.QIcon.Off ) MainWindow.setWindowIcon(icon) MainWindow.setTabShape(QtGui.QTabWidget.Rounded) @@ -53,7 +71,8 @@ def setupUi(self, MainWindow): self.gridLayout_10 = QtGui.QGridLayout(self.centralwidget) self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10")) self.tabWidget = QtGui.QTabWidget(self.centralwidget) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, + QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) diff --git a/src/bitmessageqt/blacklist.py b/src/bitmessageqt/blacklist.py index 2cc163c380..d1f339a88e 100644 --- a/src/bitmessageqt/blacklist.py +++ b/src/bitmessageqt/blacklist.py @@ -1,4 +1,7 @@ -from PyQt4 import QtCore, QtGui +""" +Blacklist / whitelist administration UI +""" +from PyQt4 import QtCore, QtGui # pylint: disable=import-error import widgets from addresses import addBMIfNotPresent @@ -55,12 +58,12 @@ def click_radioButtonWhitelist(self): self.rerenderBlackWhiteList() def click_pushButtonAddBlacklist(self): - self.NewBlacklistDialogInstance = AddAddressDialog(self) - if self.NewBlacklistDialogInstance.exec_(): - if self.NewBlacklistDialogInstance.labelAddressCheck.text() == \ + NewBlacklistDialogInstance = AddAddressDialog(self) + if NewBlacklistDialogInstance.exec_(): + if NewBlacklistDialogInstance.labelAddressCheck.text() == \ _translate("MainWindow", "Address is valid."): address = addBMIfNotPresent(str( - self.NewBlacklistDialogInstance.lineEditAddress.text())) + NewBlacklistDialogInstance.lineEditAddress.text())) # First we must check to see if the address is already in the # address book. The user cannot add it again or else it will # cause problems when updating and deleting the entry. @@ -74,7 +77,7 @@ def click_pushButtonAddBlacklist(self): self.tableWidgetBlacklist.setSortingEnabled(False) self.tableWidgetBlacklist.insertRow(0) newItem = QtGui.QTableWidgetItem(unicode( - self.NewBlacklistDialogInstance.lineEditLabel.text().toUtf8(), 'utf-8')) + NewBlacklistDialogInstance.lineEditLabel.text().toUtf8(), 'utf-8')) newItem.setIcon(avatarize(address)) self.tableWidgetBlacklist.setItem(0, 0, newItem) newItem = QtGui.QTableWidgetItem(address) @@ -82,7 +85,7 @@ def click_pushButtonAddBlacklist(self): QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) self.tableWidgetBlacklist.setItem(0, 1, newItem) self.tableWidgetBlacklist.setSortingEnabled(True) - t = (str(self.NewBlacklistDialogInstance.lineEditLabel.text().toUtf8()), address, True) + t = (str(NewBlacklistDialogInstance.lineEditLabel.text().toUtf8()), address, True) if config.get('bitmessagesettings', 'blackwhitelist') == 'black': sql = '''INSERT INTO blacklist VALUES (?,?,?)''' else: diff --git a/src/bitmessageqt/dialogs.py b/src/bitmessageqt/dialogs.py index dc31e26697..cdb5e06221 100644 --- a/src/bitmessageqt/dialogs.py +++ b/src/bitmessageqt/dialogs.py @@ -2,7 +2,7 @@ Custom dialog classes """ # pylint: disable=too-few-public-methods -from PyQt4 import QtGui +from PyQt4 import QtGui # pylint: disable=import-error import paths import widgets diff --git a/src/bitmessageqt/foldertree.py b/src/bitmessageqt/foldertree.py index c50b7d3d47..6984f094a7 100644 --- a/src/bitmessageqt/foldertree.py +++ b/src/bitmessageqt/foldertree.py @@ -6,7 +6,7 @@ from cgi import escape -from PyQt4 import QtCore, QtGui +from PyQt4 import QtCore, QtGui # pylint: disable=import-error from bmconfigparser import config from helper_sql import sqlExecute, sqlQuery @@ -232,8 +232,11 @@ def _setup(self, parent, pos): def _getLabel(self): if self.address is None: - return unicode(_translate( - "MainWindow", "All accounts").toUtf8(), 'utf-8', 'ignore') + # pylint: disable=no-member + return unicode(_translate("MainWindow", + "All accounts").toUtf8(), + 'utf-8', + 'ignore') else: try: return unicode( diff --git a/src/bitmessageqt/languagebox.py b/src/bitmessageqt/languagebox.py index 34f96b02a7..5e389d33c3 100644 --- a/src/bitmessageqt/languagebox.py +++ b/src/bitmessageqt/languagebox.py @@ -3,7 +3,7 @@ import glob import os -from PyQt4 import QtCore, QtGui +from PyQt4 import QtCore, QtGui # pylint: disable=import-error import paths from bmconfigparser import config diff --git a/src/depends.py b/src/depends.py index 050966fd6c..6ddff80b57 100755 --- a/src/depends.py +++ b/src/depends.py @@ -188,7 +188,7 @@ def try_import(module, log_extra=False): logger.error( 'On %s, try running "%s %s" as root.', dist, PACKAGE_MANAGER[dist], PACKAGES[module][dist]) - return False + return None def check_ripemd160(): @@ -274,6 +274,7 @@ def check_openssl(): if sys.platform == 'win32': paths = ['libeay32.dll'] if getattr(sys, 'frozen', False): + # pylint: disable=no-member paths.insert(0, os.path.join(sys._MEIPASS, 'libeay32.dll')) else: paths = ['libcrypto.so', 'libcrypto.so.1.0.0'] diff --git a/src/fallback/umsgpack/umsgpack.py b/src/fallback/umsgpack/umsgpack.py index ff11fc2c4e..9378cbe506 100644 --- a/src/fallback/umsgpack/umsgpack.py +++ b/src/fallback/umsgpack/umsgpack.py @@ -410,8 +410,6 @@ def _pack2(obj, fp, **options): >>> umsgpack.pack({u"compact": True, u"schema": 0}, f) >>> """ - global compatibility - ext_handlers = options.get("ext_handlers") if obj is None: @@ -480,8 +478,6 @@ def _pack3(obj, fp, **options): >>> umsgpack.pack({u"compact": True, u"schema": 0}, f) >>> """ - global compatibility - ext_handlers = options.get("ext_handlers") if obj is None: @@ -665,7 +661,6 @@ def _unpack_string(code, fp, options): raise Exception("logic error, not string: 0x%02x" % ord(code)) # Always return raw bytes in compatibility mode - global compatibility if compatibility: return _read_except(fp, length) diff --git a/src/network/bmproto.py b/src/network/bmproto.py index aa830cf5aa..3512d88154 100644 --- a/src/network/bmproto.py +++ b/src/network/bmproto.py @@ -67,6 +67,25 @@ def __init__(self, address=None, sock=None): # track port check requests, only allow one per connection # completely disable port checks for now self.portCheckRequested = True + self.payloadLength = 0 + self.payloadOffset = 0 + self.invalid = False + self.timeOffset = 0 + self.verackSent = False + self.verackReceived = False + self.payload = None + self.isSSL = False + self.remoteProtocolVersion = 0 + self.nonce = 0 + self.peerNode = None + self.streams = None + self.timestamp = 0 + self.object = None + self.services = None + self.sockNode = None + self.magic = None + self.checksum = None + self.command = None def bm_proto_reset(self): """Reset the bitmessage object parser""" diff --git a/src/network/http.py b/src/network/http.py deleted file mode 100644 index 8a49e760c8..0000000000 --- a/src/network/http.py +++ /dev/null @@ -1,89 +0,0 @@ -import socket - -from .advanceddispatcher import AdvancedDispatcher -from . import asyncore_pollchoose as asyncore -from .proxy import ProxyError -from .socks5 import Socks5Connection, Socks5Resolver -from .socks4a import Socks4aConnection, Socks4aResolver - - -class HttpError(ProxyError): - pass - - -class HttpConnection(AdvancedDispatcher): - def __init__(self, host, path="/"): # pylint: disable=redefined-outer-name - AdvancedDispatcher.__init__(self) - self.path = path - self.destination = (host, 80) - self.create_socket(socket.AF_INET, socket.SOCK_STREAM) - self.connect(self.destination) - print("connecting in background to %s:%i" % self.destination) - - def state_init(self): - self.append_write_buf( - "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n" % ( - self.path, self.destination[0])) - print("Sending %ib" % len(self.write_buf)) - self.set_state("http_request_sent", 0) - return False - - def state_http_request_sent(self): - if self.read_buf: - print("Received %ib" % len(self.read_buf)) - self.read_buf = b"" - if not self.connected: - self.set_state("close", 0) - return False - - -class Socks5HttpConnection(Socks5Connection, HttpConnection): - def __init__(self, host, path="/"): # pylint: disable=super-init-not-called, redefined-outer-name - self.path = path - Socks5Connection.__init__(self, address=(host, 80)) - - def state_socks_handshake_done(self): - HttpConnection.state_init(self) - return False - - -class Socks4aHttpConnection(Socks4aConnection, HttpConnection): - def __init__(self, host, path="/"): # pylint: disable=super-init-not-called, redefined-outer-name - Socks4aConnection.__init__(self, address=(host, 80)) - self.path = path - - def state_socks_handshake_done(self): - HttpConnection.state_init(self) - return False - - -if __name__ == "__main__": - # initial fill - for host in ("bootstrap8080.bitmessage.org", "bootstrap8444.bitmessage.org"): - proxy = Socks5Resolver(host=host) - while asyncore.socket_map: - print("loop %s, len %i" % (proxy.state, len(asyncore.socket_map))) - asyncore.loop(timeout=1, count=1) - proxy.resolved() - - proxy = Socks4aResolver(host=host) - while asyncore.socket_map: - print("loop %s, len %i" % (proxy.state, len(asyncore.socket_map))) - asyncore.loop(timeout=1, count=1) - proxy.resolved() - - for host in ("bitmessage.org",): - direct = HttpConnection(host) - while asyncore.socket_map: - # print "loop, state = %s" % (direct.state) - asyncore.loop(timeout=1, count=1) - - proxy = Socks5HttpConnection(host) - while asyncore.socket_map: - # print "loop, state = %s" % (proxy.state) - asyncore.loop(timeout=1, count=1) - - proxy = Socks4aHttpConnection(host) - while asyncore.socket_map: - # print "loop, state = %s" % (proxy.state) - asyncore.loop(timeout=1, count=1) diff --git a/src/network/httpd.py b/src/network/httpd.py deleted file mode 100644 index 8b5153239a..0000000000 --- a/src/network/httpd.py +++ /dev/null @@ -1,161 +0,0 @@ -""" -src/network/httpd.py -======================= -""" -import asyncore -import socket - -from .tls import TLSHandshake - - -class HTTPRequestHandler(asyncore.dispatcher): - """Handling HTTP request""" - response = """HTTP/1.0 200 OK\r - Date: Sun, 23 Oct 2016 18:02:00 GMT\r - Content-Type: text/html; charset=UTF-8\r - Content-Encoding: UTF-8\r - Content-Length: 136\r - Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT\r - Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)\r - ETag: "3f80f-1b6-3e1cb03b"\r - Accept-Ranges: bytes\r - Connection: close\r - \r - -
-