diff --git a/qutebrowser/__init__.py b/qutebrowser/__init__.py index 17cc5d3d3..e939d633a 100644 --- a/qutebrowser/__init__.py +++ b/qutebrowser/__init__.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -# pylint: disable=line-too-long,bad-builtin +# pylint: disable=line-too-long """A keyboard-driven, vim-like browser based on PyQt5 and QtWebKit.""" diff --git a/qutebrowser/app.py b/qutebrowser/app.py index f9b5fad45..716cd7d18 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -42,7 +42,7 @@ except ImportError: hunter = None import qutebrowser -import qutebrowser.resources # pylint: disable=unused-import +import qutebrowser.resources from qutebrowser.completion.models import instances as completionmodels from qutebrowser.commands import cmdutils, runners, cmdexc from qutebrowser.config import style, config, websettings, configexc @@ -61,7 +61,6 @@ qApp = None def run(args): """Initialize everything and run the application.""" - # pylint: disable=too-many-statements if args.version: print(version.version(short=True)) print() diff --git a/qutebrowser/browser/mhtml.py b/qutebrowser/browser/mhtml.py index a202b5639..e5845a07d 100644 --- a/qutebrowser/browser/mhtml.py +++ b/qutebrowser/browser/mhtml.py @@ -451,7 +451,7 @@ class _Downloader: self._finished(url, item) -class _NoCloseBytesIO(io.BytesIO): # pylint: disable=no-init +class _NoCloseBytesIO(io.BytesIO): """BytesIO that can't be .closed(). diff --git a/qutebrowser/browser/network/networkmanager.py b/qutebrowser/browser/network/networkmanager.py index 7122ec695..79f73e58e 100644 --- a/qutebrowser/browser/network/networkmanager.py +++ b/qutebrowser/browser/network/networkmanager.py @@ -249,7 +249,6 @@ class NetworkManager(QNetworkAccessManager): net = netrc.netrc() authenticators = net.authenticators(reply.url().host()) if authenticators is not None: - # pylint: disable=unpacking-non-sequence (user, _account, password) = authenticators except FileNotFoundError: log.misc.debug("No .netrc file found") diff --git a/qutebrowser/browser/webelem.py b/qutebrowser/browser/webelem.py index c559be414..4261c1d5b 100644 --- a/qutebrowser/browser/webelem.py +++ b/qutebrowser/browser/webelem.py @@ -106,7 +106,6 @@ class WebElementWrapper(collections.abc.MutableMapping): method = getattr(self._elem, name) def _wrapper(meth, *args, **kwargs): - # pylint: disable=missing-docstring self._check_vanished() return meth(*args, **kwargs) diff --git a/qutebrowser/commands/command.py b/qutebrowser/commands/command.py index 0ee50fbb7..48124ce63 100644 --- a/qutebrowser/commands/command.py +++ b/qutebrowser/commands/command.py @@ -75,7 +75,7 @@ class Command: deprecated=False, no_cmd_split=False, scope='global', count=None, win_id=None): # I really don't know how to solve this in a better way, I tried. - # pylint: disable=too-many-arguments,too-many-locals + # pylint: disable=too-many-locals if modes is not None and not_modes is not None: raise ValueError("Only modes or not_modes can be given!") if modes is not None: diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index 727145e0a..42f9395e2 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -97,7 +97,6 @@ class change_filter: # pylint: disable=invalid-name @pyqtSlot(str, str) @functools.wraps(func) def wrapper(sectname=None, optname=None): - # pylint: disable=missing-docstring if sectname is None and optname is None: # Called directly, not from a config change event. return func() @@ -111,7 +110,6 @@ class change_filter: # pylint: disable=invalid-name @pyqtSlot(str, str) @functools.wraps(func) def wrapper(wrapper_self, sectname=None, optname=None): - # pylint: disable=missing-docstring if sectname is None and optname is None: # Called directly, not from a config change event. return func(wrapper_self) @@ -150,7 +148,7 @@ def _init_main_config(parent=None): errstr = "Error while reading config:" try: errstr += "\n\n{} -> {}:".format( - e.section, e.option) # pylint: disable=no-member + e.section, e.option) except AttributeError: pass errstr += "\n" diff --git a/qutebrowser/mainwindow/mainwindow.py b/qutebrowser/mainwindow/mainwindow.py index ac602194a..0cef7037f 100644 --- a/qutebrowser/mainwindow/mainwindow.py +++ b/qutebrowser/mainwindow/mainwindow.py @@ -264,7 +264,6 @@ class MainWindow(QWidget): def _connect_signals(self): """Connect all mainwindow signals.""" - # pylint: disable=too-many-statements key_config = objreg.get('key-config') status = self._get_object('statusbar') diff --git a/qutebrowser/misc/checkpyver.py b/qutebrowser/misc/checkpyver.py index a5d561764..3cc57db03 100644 --- a/qutebrowser/misc/checkpyver.py +++ b/qutebrowser/misc/checkpyver.py @@ -28,7 +28,6 @@ try: except ImportError: # pragma: no coverage try: # Python2 - # pylint: disable=import-error from Tkinter import Tk import tkMessageBox as messagebox except ImportError: diff --git a/qutebrowser/misc/crashdialog.py b/qutebrowser/misc/crashdialog.py index c64f5aeda..4aed21a38 100644 --- a/qutebrowser/misc/crashdialog.py +++ b/qutebrowser/misc/crashdialog.py @@ -349,8 +349,6 @@ class _CrashDialog(QDialog): Args: newest: The newest version as a string. """ - # pylint: disable=no-member - # https://bitbucket.org/logilab/pylint/issue/73/ new_version = pkg_resources.parse_version(newest) cur_version = pkg_resources.parse_version(qutebrowser.__version__) lines = ['The report has been sent successfully. Thanks!'] diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py index ca8096b03..3014fbaac 100644 --- a/qutebrowser/misc/earlyinit.py +++ b/qutebrowser/misc/earlyinit.py @@ -23,7 +23,7 @@ At this point we can be sure we have all python 3.4 features available. try: # Importing hunter to register its atexit handler early so it gets called # late. - import hunter # pylint: disable=import-error,unused-import + import hunter # pylint: disable=unused-import except ImportError: hunter = None @@ -35,7 +35,7 @@ import signal import operator import importlib try: - import tkinter # pylint: disable=import-error + import tkinter except ImportError: tkinter = None # NOTE: No qutebrowser or PyQt import should be done here, as some early @@ -180,7 +180,7 @@ def fix_harfbuzz(args): def check_pyqt_core(): """Check if PyQt core is installed.""" try: - import PyQt5.QtCore # pylint: disable=unused-variable + import PyQt5.QtCore except ImportError as e: text = _missing_str('PyQt5', windows="Use the installer by Riverbank computing " diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py index 7decba942..1408ae58a 100644 --- a/qutebrowser/utils/qtutils.py +++ b/qutebrowser/utils/qtutils.py @@ -77,8 +77,6 @@ def version_check(version, op=operator.ge): version: The version to check against. op: The operator to use for the check. """ - # pylint: disable=no-member - # https://bitbucket.org/logilab/pylint/issue/73/ return op(pkg_resources.parse_version(qVersion()), pkg_resources.parse_version(version)) @@ -244,8 +242,6 @@ class PyQIODevice(io.BufferedIOBase): dev: The underlying QIODevice. """ - # pylint: disable=missing-docstring - def __init__(self, dev): super().__init__() self.dev = dev diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index 7909c251b..1061433a4 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -609,7 +609,7 @@ class prevent_exceptions: # pylint: disable=invalid-name retval = self._retval @functools.wraps(func) - def wrapper(*args, **kwargs): # pylint: disable=missing-docstring + def wrapper(*args, **kwargs): try: return func(*args, **kwargs) except BaseException: diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py index f5cd767f4..78bff31cd 100644 --- a/qutebrowser/utils/version.py +++ b/qutebrowser/utils/version.py @@ -168,8 +168,6 @@ def _os_info(): elif sys.platform == 'win32': osver = ', '.join(platform.win32_ver()) elif sys.platform == 'darwin': - # pylint: disable=unpacking-non-sequence - # See https://bitbucket.org/logilab/pylint/issue/165/ release, versioninfo, machine = platform.mac_ver() if all(not e for e in versioninfo): versioninfo = '' diff --git a/scripts/dev/run_frozen_tests.py b/scripts/dev/run_frozen_tests.py index f5a4dfb71..5b20df09f 100644 --- a/scripts/dev/run_frozen_tests.py +++ b/scripts/dev/run_frozen_tests.py @@ -18,8 +18,6 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -# pylint: disable=import-error,no-member - """cx_Freeze script to run qutebrowser tests on the frozen executable.""" import sys diff --git a/scripts/minimal_webkit_testbrowser.py b/scripts/minimal_webkit_testbrowser.py index b5aab12c8..1cdebafb1 100755 --- a/scripts/minimal_webkit_testbrowser.py +++ b/scripts/minimal_webkit_testbrowser.py @@ -29,7 +29,6 @@ from PyQt5.QtWebKit import QWebSettings from PyQt5.QtWebKitWidgets import QWebView try: - # pylint: disable=no-name-in-module,import-error from PyQt5.QtWebEngineWidgets import QWebEngineView WEBENGINE = True except ImportError: diff --git a/tests/conftest.py b/tests/conftest.py index c40a66c39..78d83be17 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -207,7 +207,7 @@ def _generate_cmdline_tests(): def cmdline_test(request): """Fixture which generates tests for things validating commandlines.""" # Import qutebrowser.app so all cmdutils.register decorators get run. - import qutebrowser.app # pylint: disable=unused-variable + import qutebrowser.app return request.param diff --git a/tests/helpers/stubs.py b/tests/helpers/stubs.py index 844de59a2..bcc7b866e 100644 --- a/tests/helpers/stubs.py +++ b/tests/helpers/stubs.py @@ -281,8 +281,6 @@ class FakeTimer(QObject): """Stub for a usertypes.Timer.""" - # pylint: disable=missing-docstring - timeout_signal = pyqtSignal() def __init__(self, parent=None, name=None): diff --git a/tests/integration/quteprocess.py b/tests/integration/quteprocess.py index f60e4d026..e72d1dd9c 100644 --- a/tests/integration/quteprocess.py +++ b/tests/integration/quteprocess.py @@ -17,9 +17,6 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -# pylint doesn't understand the testprocess import -# pylint: disable=no-member - """Fixtures to run qutebrowser in a QProcess and communicate.""" import re @@ -42,6 +39,9 @@ from qutebrowser.utils import log, utils def is_ignored_qt_message(message): """Check if the message is listed in qt_log_ignore.""" + # pylint: disable=no-member + # WORKAROUND for https://bitbucket.org/logilab/pylint/issues/717/ + # we should switch to generated-members after that regexes = pytest.config.getini('qt_log_ignore') for regex in regexes: if re.match(regex, message): @@ -151,6 +151,9 @@ class QuteProc(testprocess.Process): else: raise + # WORKAROUND for https://bitbucket.org/logilab/pylint/issues/717/ + # we should switch to generated-members after that + # pylint: disable=no-member if (log_line.loglevel in ['INFO', 'WARNING', 'ERROR'] or pytest.config.getoption('--verbose')): print(line) diff --git a/tests/integration/webserver.py b/tests/integration/webserver.py index 09563cc48..3848ab902 100644 --- a/tests/integration/webserver.py +++ b/tests/integration/webserver.py @@ -17,9 +17,6 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -# pylint doesn't understand the testprocess import -# pylint: disable=no-member - """Fixtures for the httpbin webserver.""" import sys diff --git a/tests/integration/webserver_sub.py b/tests/integration/webserver_sub.py index f9364555f..9466b4350 100644 --- a/tests/integration/webserver_sub.py +++ b/tests/integration/webserver_sub.py @@ -127,11 +127,6 @@ class WSGIServer(cherrypy.wsgiserver.CherryPyWSGIServer): def main(): - # pylint: disable=no-member - # WORKAROUND for https://bitbucket.org/logilab/pylint/issues/702 - # "Instance of 'WSGIServer' has no 'start' member (no-member)" - # "Instance of 'WSGIServer' has no 'stop' member (no-member)" - if hasattr(sys, 'frozen'): basedir = os.path.realpath(os.path.dirname(sys.executable)) app.template_folder = os.path.join(basedir, 'integration', 'templates') diff --git a/tests/unit/browser/test_mhtml.py b/tests/unit/browser/test_mhtml.py index 5a6912863..23d42d700 100644 --- a/tests/unit/browser/test_mhtml.py +++ b/tests/unit/browser/test_mhtml.py @@ -275,8 +275,6 @@ def test_css_url_scanner(monkeypatch, has_cssutils, inline, style, class TestNoCloseBytesIO: - # WORKAROUND for https://bitbucket.org/logilab/pylint/issues/540/ - # pylint: disable=no-member def test_fake_close(self): fp = mhtml._NoCloseBytesIO() diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index a6b8af445..a7d6dda8f 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -281,7 +281,7 @@ class TestDefaultConfig: def test_default_key_config(self): """Test validating of the default key config.""" # We import qutebrowser.app so the cmdutils.register decorators run. - import qutebrowser.app # pylint: disable=unused-variable + import qutebrowser.app conf = keyconf.KeyConfigParser(None, None) runner = runners.CommandRunner(win_id=0) for sectname in configdata.KEY_DATA: diff --git a/tests/unit/config/test_configexc.py b/tests/unit/config/test_configexc.py index 6d0aba3fd..6b19a5ed1 100644 --- a/tests/unit/config/test_configexc.py +++ b/tests/unit/config/test_configexc.py @@ -16,8 +16,6 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -# pylint: disable=missing-docstring - """Tests for qutebrowser.config.configexc.""" from qutebrowser.config import configexc diff --git a/tests/unit/misc/test_checkpyver.py b/tests/unit/misc/test_checkpyver.py index c2e89ddad..15d7fb9d3 100644 --- a/tests/unit/misc/test_checkpyver.py +++ b/tests/unit/misc/test_checkpyver.py @@ -77,7 +77,7 @@ def test_patched_errwindow(capfd, mocker, monkeypatch): lambda status: None) try: - import tkinter # pylint: disable=unused-variable + import tkinter except ImportError: tk_mock = mocker.patch('qutebrowser.misc.checkpyver.Tk', spec=['withdraw'], new_callable=mocker.Mock) diff --git a/tests/unit/misc/test_ipc.py b/tests/unit/misc/test_ipc.py index e3a977e30..62247ca14 100644 --- a/tests/unit/misc/test_ipc.py +++ b/tests/unit/misc/test_ipc.py @@ -31,7 +31,7 @@ import subprocess from unittest import mock import pytest -import py.path # pylint: disable=no-name-in-module,import-error +import py.path # pylint: disable=no-name-in-module from PyQt5.QtCore import pyqtSignal, QObject from PyQt5.QtNetwork import QLocalServer, QLocalSocket, QAbstractSocket from PyQt5.QtTest import QSignalSpy diff --git a/tests/unit/misc/test_lineparser.py b/tests/unit/misc/test_lineparser.py index 8d099d18b..ae603a20b 100644 --- a/tests/unit/misc/test_lineparser.py +++ b/tests/unit/misc/test_lineparser.py @@ -50,7 +50,7 @@ class LineParserMixin: else: prev_val = None - if self._binary: # pylint: disable=no-member + if self._binary: fobj = io.BytesIO(prev_val) else: fobj = io.StringIO(prev_val) diff --git a/tests/unit/utils/test_log.py b/tests/unit/utils/test_log.py index 9b579fef0..0ecd42d5c 100644 --- a/tests/unit/utils/test_log.py +++ b/tests/unit/utils/test_log.py @@ -25,7 +25,7 @@ import itertools import sys import pytest -import pytest_catchlog # pylint: disable=import-error +import pytest_catchlog from qutebrowser.utils import log