diff --git a/setup.cfg b/setup.cfg index ad78a432eb..6143f19255 100644 --- a/setup.cfg +++ b/setup.cfg @@ -18,9 +18,12 @@ ignore = E722,F841,W503 # pylint honours the [MESSAGES CONTROL] section # as well as [MASTER] section [MESSAGES CONTROL] -disable=invalid-name,bare-except,broad-except,superfluous-parens +disable= + invalid-name,bare-except,broad-except,superfluous-parens, + bad-option-value # invalid-name: needs fixing during a large, project-wide refactor # bare-except,broad-except: Need fixing once thorough testing is easier +# bad-option-value is for backward compatibility between python 2 and 3 max-args = 8 max-attributes = 8 diff --git a/src/api.py b/src/api.py index fa4b817de5..c74960b29a 100644 --- a/src/api.py +++ b/src/api.py @@ -72,7 +72,7 @@ import six from six.moves import configparser, http_client, xmlrpc_server -from six.moves.reprlib import repr +from six.moves.reprlib import repr # pylint: disable=redefined-builtin,import-error import helper_inbox import helper_sent diff --git a/src/bitmessagemain.py b/src/bitmessagemain.py index 1fbd9cf5f0..d1502ce6ca 100755 --- a/src/bitmessagemain.py +++ b/src/bitmessagemain.py @@ -11,7 +11,7 @@ # yet contain logic to expand into further streams. # flake8: noqa:402 -# pylint: disable=superfluous-parens +# pylint: disable=superfluous-parens,relative-import import os import sys diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py index a7e02bd604..a6453c3c01 100644 --- a/src/bitmessageqt/__init__.py +++ b/src/bitmessageqt/__init__.py @@ -1,7 +1,7 @@ """ PyQt based UI for bitmessage, the main module """ - +# pylint: disable=import-error,relative-import,too-many-lines import hashlib import locale import os @@ -239,20 +239,20 @@ def init_inbox_popup_menu(self, connectSignal=True): QtCore.Qt.CustomContextMenu) if connectSignal: self.connect(self.ui.tableWidgetInbox, QtCore.SIGNAL( - 'customContextMenuRequested(const QPoint&)'), - self.on_context_menuInbox) + 'customContextMenuRequested(const QPoint&)'), + self.on_context_menuInbox) self.ui.tableWidgetInboxSubscriptions.setContextMenuPolicy( QtCore.Qt.CustomContextMenu) if connectSignal: self.connect(self.ui.tableWidgetInboxSubscriptions, QtCore.SIGNAL( - 'customContextMenuRequested(const QPoint&)'), - self.on_context_menuInbox) + 'customContextMenuRequested(const QPoint&)'), + self.on_context_menuInbox) self.ui.tableWidgetInboxChans.setContextMenuPolicy( QtCore.Qt.CustomContextMenu) if connectSignal: self.connect(self.ui.tableWidgetInboxChans, QtCore.SIGNAL( - 'customContextMenuRequested(const QPoint&)'), - self.on_context_menuInbox) + 'customContextMenuRequested(const QPoint&)'), + self.on_context_menuInbox) def init_identities_popup_menu(self, connectSignal=True): # Popup menu for the Your Identities tab @@ -291,8 +291,8 @@ def init_identities_popup_menu(self, connectSignal=True): QtCore.Qt.CustomContextMenu) if connectSignal: self.connect(self.ui.treeWidgetYourIdentities, QtCore.SIGNAL( - 'customContextMenuRequested(const QPoint&)'), - self.on_context_menuYourIdentities) + 'customContextMenuRequested(const QPoint&)'), + self.on_context_menuYourIdentities) # load all gui.menu plugins with prefix 'address' self.menu_plugins = {'address': []} diff --git a/src/bitmessageqt/account.py b/src/bitmessageqt/account.py index 8c82c6f64e..dcfb89236b 100644 --- a/src/bitmessageqt/account.py +++ b/src/bitmessageqt/account.py @@ -6,7 +6,7 @@ Account related functions. """ - +# pylint: disable=import-error from __future__ import absolute_import import inspect diff --git a/src/bitmessageqt/address_dialogs.py b/src/bitmessageqt/address_dialogs.py index bf571041a6..bf7503f87d 100644 --- a/src/bitmessageqt/address_dialogs.py +++ b/src/bitmessageqt/address_dialogs.py @@ -1,7 +1,8 @@ """ Dialogs that work with BM address. """ -# pylint: disable=attribute-defined-outside-init,too-few-public-methods,relative-import +# pylint: disable=attribute-defined-outside-init,too-few-public-methods +# pylint: disable=relative-import,import-error import hashlib diff --git a/src/bitmessageqt/addressvalidator.py b/src/bitmessageqt/addressvalidator.py index dc61b41cde..03b0647eef 100644 --- a/src/bitmessageqt/addressvalidator.py +++ b/src/bitmessageqt/addressvalidator.py @@ -2,6 +2,7 @@ Address validator module. """ # pylint: disable=too-many-branches,too-many-arguments +# pylint: disable=import-error,relative-import from Queue import Empty @@ -103,7 +104,7 @@ def returnValid(self): return QtGui.QValidator.Acceptable return QtGui.QValidator.Intermediate - def validate(self, s, pos): + def validate(self, s, pos): # pylint: disable=unused-argument """Top level validator method""" if self.addressObject is None: address = None diff --git a/src/bitmessageqt/bitmessage_icons_rc.py b/src/bitmessageqt/bitmessage_icons_rc.py index 1f298435f6..e8d04eb240 100644 --- a/src/bitmessageqt/bitmessage_icons_rc.py +++ b/src/bitmessageqt/bitmessage_icons_rc.py @@ -7,7 +7,7 @@ # # WARNING! All changes made in this file will be lost! -from PyQt4 import QtCore +from PyQt4 import QtCore # pylint: disable=import-error qt_resource_data = "\ \x00\x00\x03\x66\ diff --git a/src/bitmessageqt/messagecompose.py b/src/bitmessageqt/messagecompose.py index c51282f8aa..edc7ef1753 100644 --- a/src/bitmessageqt/messagecompose.py +++ b/src/bitmessageqt/messagecompose.py @@ -1,9 +1,8 @@ """ Message editor with a wheel zoom functionality """ -# pylint: disable=bad-continuation -from PyQt4 import QtCore, QtGui +from PyQt4 import QtCore, QtGui # pylint disable:import-error class MessageCompose(QtGui.QTextEdit): @@ -15,18 +14,22 @@ def __init__(self, parent=0): def wheelEvent(self, event): """Mouse wheel scroll event handler""" - if ( - QtGui.QApplication.queryKeyboardModifiers() & QtCore.Qt.ControlModifier - ) == QtCore.Qt.ControlModifier and event.orientation() == QtCore.Qt.Vertical: + if (QtGui.QApplication.queryKeyboardModifiers() + & QtCore.Qt.ControlModifier) == \ + QtCore.Qt.ControlModifier \ + and event.orientation() == QtCore.Qt.Vertical: if event.delta() > 0: self.zoomIn(1) else: self.zoomOut(1) - zoom = self.currentFont().pointSize() * 100 / self.defaultFontPointSize - QtGui.QApplication.activeWindow().statusBar().showMessage( - QtGui.QApplication.translate("MainWindow", "Zoom level %1%").arg( - str(zoom) - ) + zoom = self.currentFont().pointSize() \ + * 100 \ + / self.defaultFontPointSize + QtGui.QApplication.activeWindow().statusBar(). \ + showMessage( + QtGui.QApplication.translate("MainWindow", + "Zoom level %1%"). + arg(str(zoom)) ) else: # in QTextEdit, super does not zoom, only scroll diff --git a/src/bitmessageqt/messageview.py b/src/bitmessageqt/messageview.py index 13ea16f97b..0cd87eac3f 100644 --- a/src/bitmessageqt/messageview.py +++ b/src/bitmessageqt/messageview.py @@ -52,11 +52,17 @@ def wheelEvent(self, event): # super will actually automatically take care of zooming super(MessageView, self).wheelEvent(event) if ( - QtGui.QApplication.queryKeyboardModifiers() & QtCore.Qt.ControlModifier - ) == QtCore.Qt.ControlModifier and event.orientation() == QtCore.Qt.Vertical: - zoom = self.currentFont().pointSize() * 100 / self.defaultFontPointSize - QtGui.QApplication.activeWindow().statusBar().showMessage(_translate( - "MainWindow", "Zoom level %1%").arg(str(zoom))) + QtGui.QApplication.queryKeyboardModifiers() + & QtCore.Qt.ControlModifier) == \ + QtCore.Qt.ControlModifier \ + and event.orientation() == QtCore.Qt.Vertical: + zoom = self.currentFont().pointSize() \ + * 100 \ + / self.defaultFontPointSize + QtGui.QApplication.activeWindow().statusBar().\ + showMessage(_translate("MainWindow", + "Zoom level %1%"). + arg(str(zoom))) def setWrappingWidth(self, width=None): """Set word-wrapping width""" @@ -114,8 +120,10 @@ def lazyRender(self): self.rendering = True position = self.verticalScrollBar().value() cursor = QtGui.QTextCursor(self.document()) - while self.outpos < len(self.out) and self.verticalScrollBar().value( - ) >= self.document().size().height() - 2 * self.size().height(): + while self.outpos < len(self.out) \ + and self.verticalScrollBar().value() \ + >= self.document().size().height() \ + - 2 * self.size().height(): startpos = self.outpos self.outpos += 10240 # find next end of tag @@ -123,8 +131,10 @@ def lazyRender(self): pos = self.out.find(">", self.outpos) if pos > self.outpos: self.outpos = pos + 1 - cursor.movePosition(QtGui.QTextCursor.End, QtGui.QTextCursor.MoveAnchor) - cursor.insertHtml(QtCore.QString(self.out[startpos:self.outpos])) + cursor.movePosition(QtGui.QTextCursor.End, + QtGui.QTextCursor.MoveAnchor) + cursor.insertHtml( + QtCore.QString(self.out[startpos:self.outpos])) self.verticalScrollBar().setValue(position) self.rendering = False diff --git a/src/bitmessageqt/newchandialog.py b/src/bitmessageqt/newchandialog.py index c0629cd797..b2283bcc7a 100644 --- a/src/bitmessageqt/newchandialog.py +++ b/src/bitmessageqt/newchandialog.py @@ -3,14 +3,15 @@ ================================= """ - +# pylint: disable=import-error,relative-import,ungrouped-imports from PyQt4 import QtCore, QtGui import widgets from addresses import addBMIfNotPresent from addressvalidator import AddressValidator, PassPhraseValidator -from queues import ( - addressGeneratorQueue, apiAddressGeneratorReturnQueue, UISignalQueue) +from queues import (addressGeneratorQueue, + apiAddressGeneratorReturnQueue, + UISignalQueue) from tr import _translate from utils import str_chan @@ -37,8 +38,10 @@ def __init__(self, parent=None): False)) self.timer = QtCore.QTimer() - QtCore.QObject.connect( # pylint: disable=no-member - self.timer, QtCore.SIGNAL("timeout()"), self.delayedUpdateStatus) + # pylint: disable=no-member + QtCore.QObject.connect(self.timer, + QtCore.SIGNAL("timeout()"), + self.delayedUpdateStatus) self.timer.start(500) # milliseconds self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.show() diff --git a/src/bitmessageqt/settingsmixin.py b/src/bitmessageqt/settingsmixin.py index 3d5999e203..53a10cde66 100644 --- a/src/bitmessageqt/settingsmixin.py +++ b/src/bitmessageqt/settingsmixin.py @@ -5,7 +5,7 @@ """ -from PyQt4 import QtCore, QtGui +from PyQt4 import QtCore, QtGui # pylint: disable=import-error class SettingsMixin(object): diff --git a/src/bitmessageqt/tests/addressbook.py b/src/bitmessageqt/tests/addressbook.py index cd86c5d665..279343ac4d 100644 --- a/src/bitmessageqt/tests/addressbook.py +++ b/src/bitmessageqt/tests/addressbook.py @@ -1,3 +1,7 @@ +""" +Test PyQt addressbook +""" +# pylint: disable=relative-import import helper_addressbook from bitmessageqt.support import createAddressIfNeeded diff --git a/src/bitmessageqt/tests/main.py b/src/bitmessageqt/tests/main.py index d3fda8aa71..daf5d6d226 100644 --- a/src/bitmessageqt/tests/main.py +++ b/src/bitmessageqt/tests/main.py @@ -1,5 +1,5 @@ """Common definitions for bitmessageqt tests""" - +# pylint: disable=import-error import sys import unittest diff --git a/src/bitmessageqt/tests/settings.py b/src/bitmessageqt/tests/settings.py index bad28ed736..577d71a894 100644 --- a/src/bitmessageqt/tests/settings.py +++ b/src/bitmessageqt/tests/settings.py @@ -1,4 +1,5 @@ """Tests for PyBitmessage settings""" +# pylint: disable=import-error import threading import time diff --git a/src/bitmessageqt/tests/support.py b/src/bitmessageqt/tests/support.py index ba28b73a1b..a5b16257b9 100644 --- a/src/bitmessageqt/tests/support.py +++ b/src/bitmessageqt/tests/support.py @@ -1,10 +1,13 @@ +""" +PyQt4 test for support request dialog +""" +# pylint: disable=relative-import # from PyQt4 import QtTest import sys -from shared import isAddressInMyAddressBook - from main import TestBase +from shared import isAddressInMyAddressBook class TestSupport(TestBase): diff --git a/src/bmconfigparser.py b/src/bmconfigparser.py index 68fb1e72f2..79070fd479 100644 --- a/src/bmconfigparser.py +++ b/src/bmconfigparser.py @@ -11,7 +11,7 @@ from six.moves import configparser try: - import state + import state # pylint: disable=relative-import except ImportError: from pybitmessage import state diff --git a/src/class_addressGenerator.py b/src/class_addressGenerator.py index 955014cbdc..2c70eb9563 100644 --- a/src/class_addressGenerator.py +++ b/src/class_addressGenerator.py @@ -6,7 +6,7 @@ from binascii import hexlify from six.moves import configparser, queue -# pylint: disable=import-error +# pylint: disable=import-error,relative-import import defaults import highlevelcrypto import queues diff --git a/src/class_singleWorker.py b/src/class_singleWorker.py index e46d9f8791..b7be9333fd 100644 --- a/src/class_singleWorker.py +++ b/src/class_singleWorker.py @@ -3,6 +3,7 @@ """ # pylint: disable=protected-access,too-many-branches,too-many-statements # pylint: disable=no-self-use,too-many-lines,too-many-locals +# pylint: disable=relative-import,import-error,redefined-builtin from __future__ import division