AI Slop Code RIsk Monitor

qutebrowser/qutebrowser

A keyboard-driven, vim-like browser based on Python and Qt.

11.9 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for qutebrowser/qutebrowser, a Python project with 11,726 GitHub stars. SynthScan examined 167,397 lines of code across 726 source files, recording 1340 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 11.9 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

11.9
Adjusted Signal
11.9
Raw Pattern Score
100%
Time Factor
2026-10-05
Last Push
11.7K
Stars
Python
Language
167.4K
Lines of Code
726
Files
1.3K
Pattern Hits
2026-10-12
Scan Date
0.21
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 24.0/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 911 finding(s).

Hallucinated Dependency & Supply Chain Risk 12.5/100 · LOW

Are imports declared and package/API names verified? 242 finding(s).

Agent Over-Engineering Ratio 33.3/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 928 finding(s).

PR Review Velocity Impact 46.9/100 · MEDIUM

Which changes need focused human review? 1340 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 151MEDIUM 12LOW 1177

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1340 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers729 hits · 715 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py168def pytest_collection_modifyitems(config, items):CODE
LOWtests/conftest.py414def pytest_runtest_makereport(item, call):CODE
LOW⚡tests/unit/test_qt_machinery.py54def test_importerror_exceptions(exception: Exception, base: type[Exception]):CODE
LOW⚡tests/unit/test_qt_machinery.py59def test_selectioninfo_set_module_error():CODE
LOW⚡tests/unit/test_qt_machinery.py69def test_selectioninfo_use_wrapper():CODE
LOWtests/unit/test_qt_machinery.py121def test_selectioninfo_str_wrapper_precedence(order: list[str]):CODE
LOWtests/unit/test_qt_machinery.py346 def test_autoselect_by_default(CODE
LOWtests/unit/test_qt_machinery.py417 def test_none_available_implicit(CODE
LOWtests/unit/test_qt_machinery.py441 def test_none_available_explicit(CODE
LOW⚡tests/unit/misc/test_ipc.py355 def test_atime_update_no_name(self, qtbot, caplog, ipc_server):CODE
LOW⚡tests/unit/misc/test_ipc.py362 def test_atime_shutdown_typeerror(self, qtbot, ipc_server):CODE
LOW⚡tests/unit/misc/test_ipc.py368 def test_vanished_runtime_file(self, qtbot, caplog, ipc_server):CODE
LOWtests/unit/misc/test_ipc.py186 def test_windows_broken_getpass(self, monkeypatch):CODE
LOWtests/unit/misc/test_ipc.py430 def test_disconnected_immediately(self, ipc_server, caplog):CODE
LOWtests/unit/misc/test_ipc.py446 def test_read_line_immediately(self, qtbot, ipc_server, caplog):CODE
LOWtests/unit/misc/test_ipc.py472def test_disconnected_without_data(qtbot, connected_socket,CODE
LOWtests/unit/misc/test_ipc.py581 def test_not_disconnected_immediately(self):CODE
LOWtests/unit/misc/test_ipc.py585 def test_socket_error_no_server(self):CODE
LOWtests/unit/misc/test_ipc.py609def test_ipcserver_socket_none_readyread(ipc_server, caplog):CODE
LOWtests/unit/misc/test_ipc.py619def test_ipcserver_socket_none_error(ipc_server, caplog):CODE
LOWtests/unit/misc/test_ipc.py708 def test_address_in_use_error(self, qlocalserver_mock, qlocalsocket_mock,CODE
LOWtests/unit/misc/test_ipc.py753 def test_error_while_listening(self, qlocalserver_mock, caplog, args):CODE
LOWtests/unit/misc/test_ipc.py803def test_socket_options_address_in_use_problem(qlocalserver, short_tmpdir):CODE
LOWtests/unit/misc/test_checkpyver.py43def test_patched_no_errwindow(capfd, monkeypatch):CODE
LOWtests/unit/misc/test_split.py92def _parse_split_test_data_str():STRING
LOWtests/unit/misc/test_miscwidgets.py58 def test_selection_cursor_left(self, qtbot, cmd_edit):CODE
LOWtests/unit/misc/test_miscwidgets.py159 def test_cycle_focus_no_inspector(self, splitter):CODE
LOWtests/unit/misc/test_miscwidgets.py185 def test_cycle_focus_hidden_inspector(self, splitter, fake_inspector):CODE
LOWtests/unit/misc/test_wmname.py21def test_load_libwayland_client():CODE
LOWtests/unit/misc/test_wmname.py29def test_load_libwayland_client_error(mocker: pytest_mock.MockerFixture):CODE
LOWtests/unit/misc/test_wmname.py65def test_pid_from_fd_getsockopt_error(CODE
LOW⚡tests/unit/misc/test_wmname.py77def test_pid_from_fd_no_so_peercred(monkeypatch: pytest.MonkeyPatch):CODE
LOW⚡tests/unit/misc/test_wmname.py84def test_process_name_from_pid():CODE
LOW⚡tests/unit/misc/test_wmname.py91def test_process_name_from_pid_invalid():CODE
LOWtests/unit/misc/test_wmname.py124def test_wayland_display_error(libwayland_client_mock: unittest.mock.Mock):CODE
LOWtests/unit/misc/test_wmname.py150def test_wayland_get_fd_error(CODE
LOWtests/unit/misc/test_utilcmds.py15def test_cmd_repeat_last_initial(mocker, mode_manager):CODE
LOWtests/unit/misc/test_pastebin.py61def test_paste_without_parent(data, pbclient):CODE
LOWtests/unit/misc/test_pastebin.py97def test_client_success_invalid_http(http, pbclient, qtbot):CODE
LOWtests/unit/misc/test_sessions.py196 def test_last_window_session_none(self, caplog, sess_man, tmp_path):CODE
LOWtests/unit/misc/test_earlyinit.py15def test_init_faulthandler_stderr_none(monkeypatch, attr):CODE
LOWtests/unit/misc/test_keyhints.py108def test_suggestions_with_count(keyhint, config_stub, monkeypatch, stubs):CODE
LOW⚡tests/unit/misc/test_cmdhistory.py107def test_nextitem_previtem_chain(hist):CODE
LOW⚡tests/unit/misc/test_cmdhistory.py115def test_nextitem_index_error(hist):CODE
LOW⚡tests/unit/misc/test_cmdhistory.py122def test_previtem_index_error(hist):CODE
LOWtests/unit/misc/test_cmdhistory.py146def test_append_empty_history(hist):CODE
LOWtests/unit/misc/test_guiprocess.py142def test_start_output_message(proc, qtbot, caplog, message_mock, py_proc,CODE
LOWtests/unit/misc/test_guiprocess.py235def test_live_messages_output(qtbot, proc, py_proc, message_mock,CODE
LOWtests/unit/misc/test_guiprocess.py317def test_start_detached_error(fake_proc, message_mock, caplog):CODE
LOWtests/unit/misc/test_guiprocess.py339def test_double_start_finished(qtbot, proc, py_proc):CODE
LOWtests/unit/misc/test_guiprocess.py479def test_exit_unsuccessful_output(qtbot, proc, caplog, py_proc, stream):STRING
LOWtests/unit/misc/test_guiprocess.py494def test_exit_successful_output(qtbot, proc, py_proc, stream):STRING
LOWtests/unit/misc/test_guiprocess.py508def test_stdout_not_decodable(proc, qtbot, message_mock, py_proc):STRING
LOWtests/unit/misc/test_sql.py131 def test_sqlite_error_codes_reverse(self):CODE
LOWtests/unit/misc/test_sql.py215def test_insert_batch_replace(qtbot, database):CODE
LOWtests/unit/misc/test_sql.py402 def test_run_batch_missing_binding(self, database):CODE
LOWtests/unit/misc/test_sql.py413 def test_num_rows_affected_not_active(self, database):CODE
LOWtests/unit/misc/test_sql.py418 def test_num_rows_affected_select(self, database):CODE
LOWtests/unit/misc/test_sql.py440 def test_successful_transaction(self, database):CODE
LOWtests/unit/misc/test_throttle.py55def test_delayed_immediate_delayed(throttled, func, qtbot):CODE
669 more matches not shown…
Empty Error Handlers89 hits · 445 pts
SeverityFileLineSnippetContext
HIGHtests/unit/misc/test_ipc.py48except ipc.Error:CODE
HIGHtests/unit/misc/test_wmname.py25except wmname.Error:CODE
HIGHtests/unit/misc/test_wmname.py182except wmname.Error:CODE
HIGHtests/unit/misc/test_sessions.py41except KeyError:CODE
HIGHtests/unit/misc/test_sessions.py238except sessions.SessionError:CODE
HIGHtests/unit/misc/test_sql.py464except RuntimeError:CODE
HIGHtests/unit/config/test_configtypes.py643except configexc.ValidationError:CODE
HIGHtests/unit/config/test_configtypes.py655except configexc.ValidationError:CODE
HIGHtests/unit/config/test_configtypes.py795except configexc.ValidationError:CODE
HIGHtests/unit/config/test_configtypes.py807except configexc.ValidationError:CODE
HIGHtests/unit/config/test_configtypes.py1214except configexc.ValidationError:CODE
HIGHtests/unit/config/test_configtypes.py1226except configexc.ValidationError:CODE
HIGHtests/unit/config/test_configinit.py32except KeyError:CODE
HIGHtests/unit/completion/test_models.py24except ImportError:CODE
HIGHtests/unit/utils/test_version.py1045except ImportError:CODE
HIGHtests/unit/utils/test_utils.py938except ValueError:CODE
HIGHtests/unit/utils/test_utils.py823except yaml.YAMLError:CODE
HIGHtests/unit/utils/test_qtutils.py256except AttributeError:CODE
HIGHtests/unit/utils/test_qtutils.py544except FileNotFoundError:CODE
HIGHtests/unit/utils/test_urlutils.py784except urlutils.Error:CODE
HIGHtests/unit/keyinput/test_keyutils.py559except keyutils.KeyParseError:CODE
HIGHtests/unit/browser/test_history.py294except ImportError:CODE
HIGHtests/unit/browser/webkit/http/test_httpheaders.py70except httpheaders.ContentDispositionError:CODE
HIGHtests/end2end/conftest.py39except FileNotFoundError:CODE
HIGHtests/end2end/test_invocations.py790except ImportError:CODE
HIGHtests/end2end/test_invocations.py976except (ChildProcessError, PermissionError):CODE
HIGHtests/end2end/features/test_javascript_bdd.py41except FileExistsError:CODE
HIGHtests/end2end/features/conftest.py410except FileExistsError:CODE
HIGHtests/end2end/features/conftest.py433except testprocess.WaitForTimeout:CODE
HIGHtests/end2end/features/test_downloads_bdd.py27except AttributeError:CODE
HIGHtests/helpers/fixtures.py170except ImportError:CODE
HIGHtests/helpers/fixtures.py333except configexc.NoOptionError:CODE
HIGHtests/helpers/fixtures.py424except AttributeError:CODE
HIGHqutebrowser/misc/sessions.py665except KeyError:CODE
HIGHqutebrowser/misc/sessions.py366except SessionNotFoundError:CODE
HIGHqutebrowser/misc/ipc.py493except OSError:CODE
HIGHqutebrowser/misc/ipc.py456except TypeError:CODE
HIGHqutebrowser/misc/miscwidgets.py381except KeyError:CODE
HIGHqutebrowser/misc/crashsignal.py340except KeyError:CODE
HIGHqutebrowser/misc/earlyinit.py318except ImportError:CODE
HIGHqutebrowser/misc/throttle.py75except TypeError:CODE
HIGHqutebrowser/mainwindow/mainwindow.py697except KeyError:CODE
HIGHqutebrowser/mainwindow/tabbedbrowser.py1017except (AttributeError, ValueError):CODE
HIGHqutebrowser/mainwindow/tabbedbrowser.py512except browsertab.WebTabError:CODE
HIGHqutebrowser/mainwindow/prompt.py419except UnsupportedOperationError:CODE
HIGHqutebrowser/mainwindow/prompt.py434except UnsupportedOperationError:CODE
HIGHqutebrowser/config/configtypes.py1096except ValueError:CODE
HIGHqutebrowser/config/configfiles.py85except configparser.DuplicateSectionError:CODE
HIGHqutebrowser/utils/qtutils.py202except AttributeError:CODE
HIGHqutebrowser/utils/version.py161except KeyError:CODE
HIGHqutebrowser/utils/version.py892except ImportError:CODE
HIGHqutebrowser/utils/objreg.py126except KeyError:CODE
HIGHqutebrowser/utils/objreg.py99except RuntimeError:CODE
HIGHqutebrowser/utils/debug.py132except AttributeError:CODE
HIGHqutebrowser/utils/debug.py112except ValueError:CODE
HIGHqutebrowser/utils/debug.py71except TypeError: # pragma: no coverCODE
HIGHqutebrowser/utils/standarddir.py151except KeyError:CODE
HIGHqutebrowser/browser/pdfjs.py224except PDFJSNotFound:CODE
HIGHqutebrowser/browser/inspector.py175except KeyError:CODE
HIGHqutebrowser/browser/qtnetworkdownloads.py465except AttributeError:CODE
29 more matches not shown…
Cross-Language Confusion40 hits · 238 pts
SeverityFileLineSnippetContext
HIGH⚡tests/unit/misc/test_ipc.py495 (b'{"args": [], "target_arg": null, "protocol_version": ' + OLD_VERSION +CODE
HIGH⚡tests/unit/misc/test_ipc.py497 (b'{"args": [], "target_arg": null, "protocol_version": ' + NEW_VERSION +CODE
HIGH⚡tests/unit/misc/test_ipc.py499 (b'{"args": [], "target_arg": null, "protocol_version": "foo"}\n',CODE
HIGH⚡tests/unit/misc/test_ipc.py501 (b'{"args": [], "target_arg": null}\n', 'invalid version'),CODE
HIGHtests/unit/misc/test_ipc.py520 '{{"args": ["two"], "target_arg": null,'CODE
HIGHtests/unit/utils/test_version.py886 // Initializing PDFJS global object (if still undefined)COMMENT
HIGHtests/unit/browser/test_qutescheme.py35 ids=lambda url: url.toString(),CODE
HIGHtests/unit/browser/webkit/network/test_pac.py159 return null;CODE
HIGH⚡tests/unit/components/test_hostblock.py217 blocklist1.toString(),CODE
HIGH⚡tests/unit/components/test_hostblock.py218 blocklist2.toString(),CODE
HIGH⚡tests/unit/components/test_hostblock.py219 blocklist3.toString(),CODE
HIGH⚡tests/unit/components/test_hostblock.py220 blocklist4.toString(),CODE
HIGH⚡tests/unit/components/test_hostblock.py221 blocklist5.toString(),CODE
HIGHtests/unit/components/test_hostblock.py365 hosts_to_block = generic_blocklists(tmp_path) + [dl_fail_blocklist.toString()]CODE
HIGHtests/unit/components/test_hostblock.py403 config_stub.val.content.blocking.hosts.lists = [url.toString()]CODE
HIGHtests/unit/components/test_hostblock.py502 config_stub.val.content.blocking.hosts.lists = [blocklist.toString()]CODE
HIGH⚡tests/unit/javascript/test_greasemonkey.py386 result.push(window.$);CODE
HIGH⚡tests/unit/javascript/test_greasemonkey.py387 result.push($);CODE
HIGH⚡tests/unit/javascript/test_greasemonkey.py392 result.push(window.$);CODE
HIGH⚡tests/unit/javascript/test_greasemonkey.py393 result.push($);CODE
HIGHtests/unit/javascript/test_greasemonkey.py407 result.push(window.$);CODE
HIGHtests/unit/javascript/test_greasemonkey.py408 result.push($);CODE
HIGHtests/unit/javascript/stylesheet/test_stylesheet_js.py49 "window.getComputedStyle({document}, null)"CODE
HIGHqutebrowser/mainwindow/tabbedbrowser.py549 first_tab_urlstr = first_tab_url.toString().rstrip('/')CODE
HIGHqutebrowser/utils/qtlog.py103 ('QObject::connect: Cannot connect (null)::stateChanged('CODE
HIGHqutebrowser/utils/urlutils.py60 QUrl.FormattingOptions values, i.e. can be passed to QUrl.toString().STRING
HIGHqutebrowser/utils/urlutils.py447 mimetype, _encoding = mimetypes.guess_type(url.toString())CODE
HIGHqutebrowser/browser/webkit/webkittab.py482 (!position && sel.anchorOffset < sel.focusOffset ||CODE
HIGHqutebrowser/browser/webkit/webkittab.py495 } else if (aElm && aElm !== document.body) {CODE
HIGHqutebrowser/browser/webkit/webkitelem.py82 """Raise an exception if the element vanished (is null)."""STRING
HIGHqutebrowser/browser/webkit/webkitelem.py110 val = self._elem.evaluateJavaScript('this.isContentEditable || false')CODE
HIGHqutebrowser/browser/webkit/webkitelem.py163 event.initTextEvent("textInput", true, true, null, text);CODE
HIGHqutebrowser/browser/network/pac.py164 raise EvalProxyError(err.format(ret.toString()))CODE
HIGHqutebrowser/browser/network/pac.py190 raise EvalProxyError(err.format(self._resolver.toString()))CODE
HIGHqutebrowser/browser/network/pac.py221 result_str = result.toString()CODE
HIGHqutebrowser/components/braveadblock.py204 request_url.toString(),CODE
HIGHqutebrowser/components/braveadblock.py205 first_party_url.toString(),CODE
HIGH⚡scripts/dev/update_version.py95 print("* git checkout main && git cherry-pick -x v{v} && "CODE
HIGH⚡scripts/dev/update_version.py102 print("* Linux: git fetch && git checkout v{v} && "CODE
HIGH⚡scripts/dev/update_version.py108 print("* macOS: git fetch && git checkout v{v} && "CODE
Unused Imports158 hits · 156 pts
SeverityFileLineSnippetContext
LOWsetup.py11CODE
LOWtests/conftest.py19CODE
LOWtests/conftest.py20CODE
LOWtests/conftest.py21CODE
LOWtests/conftest.py22CODE
LOWtests/conftest.py30CODE
LOWtests/conftest.py302CODE
LOWtests/conftest.py315CODE
LOWtests/conftest.py395CODE
LOWtests/conftest.py304CODE
LOWtests/conftest.py320CODE
LOWtests/unit/misc/test_checkpyver.py63CODE
LOWtests/unit/config/test_configfiles.py177CODE
LOWtests/unit/config/test_configdata.py14CODE
LOWtests/unit/browser/test_notification.py18CODE
LOWtests/end2end/conftest.py21CODE
LOWtests/end2end/conftest.py22CODE
LOWtests/end2end/conftest.py22CODE
LOWtests/end2end/conftest.py22CODE
LOWtests/end2end/conftest.py22CODE
LOWtests/end2end/conftest.py23CODE
LOWtests/end2end/conftest.py23CODE
LOWtests/end2end/conftest.py23CODE
LOWtests/end2end/conftest.py23CODE
LOWtests/end2end/conftest.py23CODE
LOWtests/end2end/conftest.py29CODE
LOWtests/end2end/features/test_caret_bdd.py8CODE
LOWtests/helpers/testutils.py271CODE
LOWqutebrowser/app.py60CODE
LOWqutebrowser/app.py61CODE
LOWqutebrowser/misc/utilcmds.py21CODE
LOWqutebrowser/misc/backendproblem.py202CODE
LOWqutebrowser/misc/backendproblem.py202CODE
LOWqutebrowser/misc/backendproblem.py211CODE
LOWqutebrowser/misc/backendproblem.py211CODE
LOWqutebrowser/misc/objects.py14CODE
LOWqutebrowser/misc/objects.py15CODE
LOWqutebrowser/misc/objects.py16CODE
LOWqutebrowser/misc/earlyinit.py210CODE
LOWqutebrowser/misc/earlyinit.py317CODE
LOWqutebrowser/mainwindow/windowundo.py18CODE
LOWqutebrowser/config/config.py22CODE
LOWqutebrowser/config/config.py22CODE
LOWqutebrowser/config/config.py23CODE
LOWqutebrowser/config/configcommands.py22CODE
LOWqutebrowser/config/configcommands.py22CODE
LOWqutebrowser/config/configfiles.py30CODE
LOWqutebrowser/config/configutils.py23CODE
LOWqutebrowser/config/qtargs.py53CODE
LOWqutebrowser/qt/webenginewidgets.py24CODE
LOWqutebrowser/qt/webenginewidgets.py26CODE
LOWqutebrowser/qt/webenginewidgets.py28CODE
LOWqutebrowser/qt/webenginecore.py24CODE
LOWqutebrowser/qt/webenginecore.py26CODE
LOWqutebrowser/qt/webenginecore.py27CODE
LOWqutebrowser/qt/webenginecore.py27CODE
LOWqutebrowser/qt/webenginecore.py27CODE
LOWqutebrowser/qt/webenginecore.py27CODE
LOWqutebrowser/qt/webenginecore.py27CODE
LOWqutebrowser/qt/webenginecore.py27CODE
98 more matches not shown…
Deep Nesting122 hits · 120 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py359CODE
LOWtests/unit/misc/test_ipc.py544CODE
LOWtests/unit/config/test_configfiles.py390CODE
LOWtests/unit/config/test_configtypes.py173CODE
LOWtests/unit/config/test_config.py524CODE
LOWtests/unit/config/test_configinit.py106CODE
LOWtests/unit/utils/test_version.py1365CODE
LOWtests/unit/utils/test_urlutils.py409CODE
LOWtests/unit/utils/test_jinja.py19CODE
LOWtests/unit/utils/test_jinja.py21CODE
LOWtests/unit/components/test_hostblock.py73CODE
LOWtests/end2end/conftest.py70CODE
LOWtests/end2end/conftest.py154CODE
LOWtests/end2end/features/conftest.py191CODE
LOWtests/helpers/stubs.py707CODE
LOWqutebrowser/app.py217CODE
LOWqutebrowser/misc/quitter.py66CODE
LOWqutebrowser/misc/crashsignal.py106CODE
LOWqutebrowser/misc/backendproblem.py171CODE
LOWqutebrowser/misc/backendproblem.py248CODE
LOWqutebrowser/misc/split.py42CODE
LOWqutebrowser/misc/guiprocess.py132CODE
LOWqutebrowser/mainwindow/tabwidget.py439CODE
LOWqutebrowser/mainwindow/tabwidget.py543CODE
LOWqutebrowser/mainwindow/tabwidget.py844CODE
LOWqutebrowser/mainwindow/mainwindow.py401CODE
LOWqutebrowser/mainwindow/tabbedbrowser.py259CODE
LOWqutebrowser/mainwindow/tabbedbrowser.py446CODE
LOWqutebrowser/mainwindow/tabbedbrowser.py478CODE
LOWqutebrowser/mainwindow/tabbedbrowser.py686CODE
LOWqutebrowser/mainwindow/prompt.py545CODE
LOWqutebrowser/mainwindow/prompt.py695CODE
LOWqutebrowser/mainwindow/statusbar/command.py255CODE
LOWqutebrowser/mainwindow/statusbar/bar.py202CODE
LOWqutebrowser/mainwindow/statusbar/bar.py238CODE
LOWqutebrowser/mainwindow/statusbar/bar.py284CODE
LOWqutebrowser/mainwindow/statusbar/bar.py322CODE
LOWqutebrowser/config/configtypes.py837CODE
LOWqutebrowser/config/configdata.py158CODE
LOWqutebrowser/config/configfiles.py156CODE
LOWqutebrowser/config/configfiles.py878CODE
LOWqutebrowser/config/configexc.py80CODE
LOWqutebrowser/config/websettings.py160CODE
LOWqutebrowser/config/qtargs.py78CODE
LOWqutebrowser/config/qtargs.py175CODE
LOWqutebrowser/config/qtargs.py393CODE
LOWqutebrowser/completion/completionwidget.py180CODE
LOWqutebrowser/completion/completionwidget.py299CODE
LOWqutebrowser/utils/version.py109CODE
LOWqutebrowser/utils/version.py254CODE
LOWqutebrowser/utils/version.py453CODE
LOWqutebrowser/utils/debug.py43CODE
LOWqutebrowser/utils/debug.py57CODE
LOWqutebrowser/utils/urlutils.py295CODE
LOWqutebrowser/utils/urlutils.py385CODE
LOWqutebrowser/utils/javascript.py40CODE
LOWqutebrowser/utils/standarddir.py306CODE
LOWqutebrowser/extensions/loader.py130CODE
LOWqutebrowser/keyinput/modeparsers.py163CODE
LOWqutebrowser/keyinput/modeparsers.py265CODE
62 more matches not shown…
Cross-File Repetition19 hits · 95 pts
SeverityFileLineSnippetContext
HIGHtests/unit/config/test_configtypes.py0patch the cmdutils module to provide fake commands.STRING
HIGHtests/unit/completion/test_models.py0patch the cmdutils module to provide fake commands.STRING
HIGHtests/unit/completion/test_completer.py0patch the cmdutils module to provide fake commands.STRING
HIGHtests/unit/commands/test_parser.py0patch the cmdutils module to provide fake commands.STRING
HIGHtests/unit/completion/test_listcategory.py0validate the filtering and sorting results of set_pattern.STRING
HIGHtests/unit/completion/test_histcategory.py0validate the filtering and sorting results of set_pattern.STRING
HIGHtests/unit/completion/test_completionmodel.py0validate the filtering and sorting results of set_pattern.STRING
HIGHqutebrowser/qt/webenginewidgets.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/webenginecore.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/dbus.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/core.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/test.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/widgets.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/opengl.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/network.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/printsupport.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/sql.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/qml.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
HIGHqutebrowser/qt/gui.py0wrapped qt imports for qt gui. all code in qutebrowser should use this module instead of importing from pyqt/pyside direSTRING
Fake / Example Data44 hits · 53 pts
SeverityFileLineSnippetContext
LOWtests/unit/misc/userscripts/test_qute_lastpass.py80 'fake-key \\j\\o\\h\\n\\.<less><less>\\d\\o\\e<greater><greater>\\@'CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py158 call('fake-key \\f\\a\\k\\e\\@\\f\\a\\k\\e\\.\\c\\o\\m'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py159 call('fake-key <Tab>'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py160 call('fake-key \\f\\o\\o\\b\\a\\r'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py206 call('fake-key \\f\\a\\k\\e\\@\\f\\a\\k\\e\\.\\c\\o\\m'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py220 call('fake-key \\f\\o\\o\\b\\a\\r'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py259 'fake-key \\j\\o\\h\\n\\.\\d\\o\\e\\@\\f\\a\\k\\e\\.\\c\\o\\m'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py260 call('fake-key <Tab>'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py261 call('fake-key \\b\\a\\r\\f\\o\\o'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py330 'fake-key \\j\\o\\h\\n\\.\\d\\o\\e\\@\\f\\a\\k\\e\\.\\c\\o\\m'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py331 call('fake-key <Tab>'),CODE
LOW⚡tests/unit/misc/userscripts/test_qute_lastpass.py332 call('fake-key \\b\\a\\r\\f\\o\\o'),CODE
LOW⚡tests/unit/config/test_configtypes.py1863 ({'placeholder': True}, '[foo, "{}", bar]', ['foo', '{}', 'bar']),CODE
LOW⚡tests/unit/config/test_configtypes.py1864 ({'placeholder': True}, '["foo{}bar"]', ['foo{}bar']),CODE
LOW⚡tests/unit/config/test_configtypes.py1865 ({'placeholder': True}, '[foo, "bar {}"]', ['foo', 'bar {}']),CODE
LOW⚡tests/unit/config/test_configtypes.py1866 ({'placeholder': True}, '[f, "{file}", b]', ['f', '{file}', 'b']),CODE
LOW⚡tests/unit/config/test_configtypes.py1867 ({'placeholder': True}, '["f{file}b"]', ['f{file}b']),CODE
LOW⚡tests/unit/config/test_configtypes.py1868 ({'placeholder': True}, '[f, "b {file}"]', ['f', 'b {file}']),CODE
LOW⚡tests/unit/config/test_configtypes.py1876 ({'placeholder': True}, '[foo, bar]'),CODE
LOW⚡tests/unit/config/test_configtypes.py1877 ({'placeholder': True}, '[foo, "{", "}", bar'),CODE
LOW⚡tests/unit/config/test_configtypes.py1878 ({'placeholder': True}, '[foo, "{fi", "le}", bar'),CODE
LOW⚡tests/unit/config/test_configtypes.py1881 ({'placeholder': True}, '[f, "{wrong}", b]'),CODE
LOW⚡tests/unit/config/test_configtypes.py1882 ({'placeholder': True}, '["f{wrong}b"]'),CODE
LOW⚡tests/unit/config/test_configtypes.py1883 ({'placeholder': True}, '[f, "b {wrong}"]'),CODE
LOW…/unit/javascript/position_caret/scrolled_down_img.html3 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dCODE
LOW…/unit/javascript/position_caret/scrolled_down_img.html3 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dCODE
LOWtests/unit/javascript/position_caret/scrolled_down.html3 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dCODE
LOWtests/unit/javascript/position_caret/scrolled_down.html3 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dCODE
LOWtests/end2end/data/hints/html/zoom_precision.html12 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWtests/end2end/data/hints/html/zoom_precision.html12 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWtests/end2end/data/hints/html/wrapped.html12 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWtests/end2end/data/hints/html/wrapped.html12 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWtests/end2end/data/hints/html/wrapped_button.html12 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWtests/end2end/data/hints/html/wrapped_button.html12 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWtests/manual/hints/find_implementation.html11 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWtests/manual/hints/find_implementation.html11 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolorCODE
LOWqutebrowser/config/configdata.yml3883 <Shift-Escape>: fake-key <Escape>CODE
LOW⚡qutebrowser/browser/hints.py1084 "placeholder": lambda elem: elem["placeholder"],CODE
LOW⚡qutebrowser/browser/hints.py1093 "input": ["name", "placeholder"],CODE
LOW⚡qutebrowser/browser/hints.py1094 "textarea": ["name", "placeholder"],CODE
LOW⚡qutebrowser/browser/commands.py1771 def fake_key(self, keystring, global_=False):CODE
LOW⚡qutebrowser/browser/commands.py1774 :fake-key xy - sends the keychain 'xy'STRING
LOW⚡qutebrowser/browser/commands.py1775 :fake-key <Ctrl-x> - sends Ctrl-xSTRING
LOW⚡qutebrowser/browser/commands.py1776 :fake-key <Escape> - sends the escape keySTRING
Modern Structural Boilerplate42 hits · 43 pts
SeverityFileLineSnippetContext
LOWqutebrowser/misc/throttle.py83 def set_delay(self, delay_ms: int) -> None:CODE
LOWqutebrowser/mainwindow/tabwidget.py337 def update_tab_favicon(self, tab: browsertab.AbstractTab) -> None:CODE
LOWqutebrowser/mainwindow/tabbedbrowser.py124 def update_size(self) -> None:CODE
LOWqutebrowser/mainwindow/messageview.py79 def update_from_info(self, info: message.MessageInfo) -> None:CODE
LOWqutebrowser/mainwindow/statusbar/searchmatch.py20 def set_match(self, search_match: browsertab.SearchMatch) -> None:CODE
LOWqutebrowser/config/configtypes.py1211 def set_defaults(cls, default_family: list[str], default_size: str) -> None:CODE
LOWqutebrowser/config/configinit.py83def _update_font_defaults(setting: str) -> None:CODE
LOWqutebrowser/config/config.py537 def update_mutables(self, *, save_yaml: bool = False) -> None:CODE
LOWqutebrowser/config/configfiles.py137 def _set_changed_attributes(self) -> None:CODE
LOWqutebrowser/config/configfiles.py156 def _set_qutebrowser_changed_attribute(self) -> None:CODE
LOWqutebrowser/config/configfiles.py181 def _set_chromium_changed_attribute(self) -> None:CODE
LOWqutebrowser/config/websettings.py105 def set_attribute(self, name: str, value: Any) -> None:CODE
LOWqutebrowser/config/websettings.py126 def set_font_size(self, name: str, value: int | usertypes.Unset) -> None:CODE
LOW⚡qutebrowser/config/websettings.py155 def set_default_text_encoding(self, encoding: str | usertypes.Unset) -> None:CODE
LOW⚡qutebrowser/config/websettings.py160 def _update_setting(self, setting: str, value: Any) -> None:CODE
LOWqutebrowser/config/websettings.py175 def update_setting(self, setting: str) -> None:CODE
LOWqutebrowser/config/websettings.py180 def update_for_url(self, url: QUrl) -> None:CODE
LOWqutebrowser/qt/machinery.py111 def set_module_error(self, name: str, error: Exception) -> None:CODE
LOWqutebrowser/qt/machinery.py235def _set_globals(info: SelectionInfo) -> None:CODE
LOWqutebrowser/completion/completionwidget.py383 def set_pattern(self, pattern: str) -> None:CODE
LOWqutebrowser/completion/models/filepathcategory.py65 def set_pattern(self, val: str) -> None:CODE
LOWqutebrowser/utils/log.py451 def update_from(self, other: 'LogFilter') -> None:CODE
LOWqutebrowser/utils/utils.py516def set_clipboard(data: str, selection: bool = False) -> None:CODE
LOWqutebrowser/keyinput/modeparsers.py111 def set_inhibited_timeout(self, timeout: int) -> None:CODE
LOWqutebrowser/browser/browsertab.py477 def _set_factor_internal(self, factor: float) -> None:CODE
LOWqutebrowser/browser/browsertab.py480 def set_factor(self, factor: float, *, fuzzyval: bool = True) -> None:CODE
LOWqutebrowser/browser/browsertab.py848 def set_muted(self, muted: bool, override: bool = False) -> None:CODE
LOWqutebrowser/browser/browsertab.py1068 def _set_widget(self, widget: _WidgetType) -> None:CODE
LOWqutebrowser/browser/browsertab.py1096 def _set_load_status(self, val: usertypes.LoadStatus) -> None:CODE
LOWqutebrowser/browser/browsertab.py1197 def _update_load_status(self, ok: bool) -> None:CODE
LOWqutebrowser/browser/browsertab.py1297 def set_pinned(self, pinned: bool) -> None:CODE
LOWqutebrowser/browser/inspector.py98 def _set_widget(self, widget: _WidgetType) -> None:CODE
LOWqutebrowser/browser/inspector.py131 def set_position(self, position: Position | None) -> None:CODE
LOWqutebrowser/browser/webelem.py115 def set_value(self, value: JsValueType) -> None:CODE
LOWqutebrowser/browser/hints.py106 def update_text(self, matched: str, unmatched: str) -> None:CODE
LOWqutebrowser/browser/webengine/webenginesettings.py234 def _set_js_clipboard(self, value: str | usertypes.Unset) -> None:CODE
LOWqutebrowser/browser/webengine/webengineelem.py132 def set_value(self, value: webelem.JsValueType) -> None:CODE
LOWqutebrowser/browser/webengine/webenginetab.py855 def set_muted(self, muted: bool, override: bool = False) -> None:CODE
LOWqutebrowser/browser/webkit/webkittab.py815 def set_muted(self, muted: bool, override: bool = False) -> None:CODE
LOWqutebrowser/browser/webkit/webkitelem.py120 def set_value(self, value: webelem.JsValueType) -> None:CODE
LOWqutebrowser/components/hostblock.py276 def update_files(self) -> None:CODE
LOWqutebrowser/components/braveadblock.py292 def update_files(self) -> None:CODE
Excessive Try-Catch Wrapping29 hits · 32 pts
SeverityFileLineSnippetContext
LOWtests/unit/utils/test_error.py34 except Exception as e:CODE
LOWqutebrowser/misc/utilcmds.py155 except Exception:CODE
LOWqutebrowser/misc/utilcmds.py161 except Exception:CODE
LOWqutebrowser/misc/crashsignal.py129 except Exception:CODE
LOW⚡qutebrowser/misc/crashsignal.py198 except Exception as e:CODE
LOW⚡qutebrowser/misc/crashsignal.py204 except Exception as e:CODE
LOW⚡qutebrowser/misc/crashsignal.py210 except Exception:CODE
LOWqutebrowser/misc/crashsignal.py268 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py175 except Exception:CODE
LOW⚡qutebrowser/misc/crashdialog.py226 except Exception:CODE
LOW⚡qutebrowser/misc/crashdialog.py230 except Exception:CODE
LOW⚡qutebrowser/misc/crashdialog.py235 except Exception:CODE
LOW⚡qutebrowser/misc/crashdialog.py239 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py276 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py295 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py302 except Exception as e:CODE
LOWqutebrowser/misc/crashdialog.py410 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py446 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py506 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py521 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py585 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py636 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py641 except Exception:CODE
LOWqutebrowser/misc/crashdialog.py654 except Exception:CODE
LOWqutebrowser/config/configfiles.py990 except Exception as e:CODE
LOWqutebrowser/components/misccommands.py409 except Exception as e:CODE
LOWscripts/dev/misc_checks.py156 except Exception:CODE
LOWscripts/dev/misc_checks.py333 except Exception:CODE
LOWscripts/dev/misc_checks.py412 except Exception:CODE
Over-Commented Block28 hits · 27 pts
SeverityFileLineSnippetContext
LOWpytest.ini61 # Qt 6.5 debug buildCOMMENT
LOWmisc/requirements/README.md21#@ replace: foo barCOMMENT
LOWtests/unit/config/test_configfiles.py1421 # file.COMMENT
LOWtests/unit/config/test_configfiles.py1501 commented=False)COMMENT
LOWtests/unit/browser/webkit/test_webkitelem.py541 elems: webkitelem.WebKitElementCOMMENT
LOWtests/unit/browser/webkit/test_webkitelem.py621 0, 0 300, 0COMMENT
LOWqutebrowser/misc/earlyinit.py101 when sys.stderr got replaced, e.g. by "Python Tools for Visual Studio".COMMENT
LOWqutebrowser/config/qtargs.py101 passCOMMENT
LOWqutebrowser/config/qtargs.py121 # just turn it on unconditionally on Linux, which shouldn't hurt.COMMENT
LOWqutebrowser/qt/__init__.py1# SPDX-FileCopyrightText: Freya Bruhin (The Compiler) <mail@qutebrowser.org>COMMENT
LOWqutebrowser/utils/version.py821COMMENT
LOWqutebrowser/utils/qtlog.py61 qtcore.QtMsgType.QtInfoMsg: logging.INFO,COMMENT
LOWqutebrowser/utils/urlutils.py521 """COMMENT
LOWqutebrowser/browser/browsertab.py1001 #: Signal emitted before load starts (URL as QUrl)COMMENT
LOWqutebrowser/browser/downloads.py501 def _do_die(self):COMMENT
LOWqutebrowser/browser/webengine/webenginesettings.py541 if not config.val.content.site_specific_quirks.enabled:COMMENT
LOWqutebrowser/browser/webengine/notification.py1081 # Or in the words of dunst:COMMENT
LOWqutebrowser/browser/webengine/tabhistory.py21COMMENT
LOWqutebrowser/browser/webengine/tabhistory.py41COMMENT
LOWqutebrowser/browser/webkit/network/networkmanager.py61 # https://en.wikipedia.org/wiki/Data_Encryption_Standard#Security_and_cryptanalysisCOMMENT
LOWqutebrowser/components/readlinecommands.py101 is_boundary = text[target_position - 1] in delimCOMMENT
LOWqutebrowser/components/readlinecommands.py121 # trying to delete 7 chars:COMMENT
LOWqutebrowser/api/config.py1# SPDX-FileCopyrightText: Freya Bruhin (The Compiler) <mail@qutebrowser.org>COMMENT
LOWqutebrowser/javascript/.eslintrc.yaml1# qutebrowser's way of using eslint is perhaps a bit untypical: We turn on *all*COMMENT
LOWdoc/extapi/conf.py1# -*- coding: utf-8 -*-COMMENT
LOWdoc/extapi/conf.py61#COMMENT
LOWdoc/extapi/conf.py81COMMENT
LOWdoc/extapi/conf.py161# -- Options for Epub output -------------------------------------------------COMMENT
Dead Code8 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/config/test_configutils.py359CODE
MEDIUMtests/unit/config/test_configutils.py360CODE
MEDIUMtests/unit/config/test_configutils.py361CODE
MEDIUMtests/unit/config/test_configutils.py363CODE
MEDIUMtests/unit/config/test_configutils.py367CODE
MEDIUMtests/unit/config/test_configutils.py368CODE
MEDIUMtests/unit/config/test_configutils.py369CODE
MEDIUMtests/unit/config/test_configutils.py373CODE
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtests/conftest.py275Select the backend for running tests. The backend is auto-selected in the following manner: 1. Use QtWebKit if STRING
HIGHqutebrowser/misc/lineparser.py70Open self._configfile for reading. Args: mode: The mode to use ('a'/'r'/'w') Raises: STRING
HIGHqutebrowser/commands/userscripts.py372Search userscript directories for given command. Raises: NotFoundError if the command could not be found. STRING
Redundant / Tautological Comments8 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/unit/utils/usertypes/test_timer.py78 # Check if there are any stray timers still alive.COMMENT
LOW⚡tests/unit/browser/test_hints.py94 # Check if hints are uniqueCOMMENT
LOW⚡tests/unit/browser/test_hints.py97 # Check if any hints are shorter than min_lenCOMMENT
LOW⚡tests/unit/browser/test_hints.py106 # Check if hint_lens are more than 1 apartCOMMENT
LOW⚡tests/unit/browser/test_hints.py116 # Check if we have any unique prefixes. For example, 'la'COMMENT
LOWtests/unit/scripts/test_check_coverage.py85 # Check if coverage plugin is availableSTRING
LOWqutebrowser/utils/urlmatch.py265 # Check if the test host is a subdomain of our host.COMMENT
LOWqutebrowser/browser/webengine/webenginetab.py242 # Check if the match count change is opposite to the search directionCOMMENT
AI Structural Patterns12 hits · 12 pts
SeverityFileLineSnippetContext
LOWsetup.py56CODE
LOWtests/unit/browser/webkit/test_webkitelem.py26CODE
LOWtests/helpers/stubs.py245CODE
LOWqutebrowser/app.py116CODE
LOWqutebrowser/misc/sessions.py574CODE
LOWqutebrowser/config/configtypes.py396CODE
LOWqutebrowser/qt/_core_pyqtproperty.py36CODE
LOWqutebrowser/browser/commands.py284CODE
LOWqutebrowser/browser/webkit/webkittab.py846CODE
LOWqutebrowser/commands/command.py66CODE
LOWscripts/dev/update_3rdparty.py176CODE
LOWscripts/dev/run_pylint_on_tests.py74CODE
Self-Referential Comments4 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/utils/test_standarddir.py303 # This file is a cache directory tag created by qutebrowser.COMMENT
MEDIUMqutebrowser/utils/standarddir.py359 f.write("# This file is a cache directory tag created by "CODE
MEDIUMscripts/dev/recompile_requirements.py290 elif line[1:].startswith('# This file is automatically'):CODE
MEDIUMscripts/dev/recompile_requirements.py375 f.write("# This file is automatically generated by "CODE
AI Slop Vocabulary5 hits · 8 pts
SeverityFileLineSnippetContext
LOWtests/unit/completion/test_completer.py217 # open has maxsplit=0, so all args just set the pattern, not the modelCOMMENT
LOWqutebrowser/browser/qtnetworkdownloads.py553 # User doesn't want to be asked, so just use the download_dirCOMMENT
LOWqutebrowser/browser/webengine/webenginedownloads.py293 # User doesn't want to be asked, so just use the download_dirCOMMENT
LOWqutebrowser/browser/webengine/webenginetab.py1145 # make sure we replace existing scripts, not just add new ones.COMMENT
LOWqutebrowser/browser/webengine/webenginequtescheme.py107 # We can't just use the QBuffer constructor taking a QByteArray,COMMENT