Repository Analysis

bleachbit/bleachbit

BleachBit system cleaner for Windows and Linux

14.6 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of bleachbit/bleachbit, a Python project with 6,288 GitHub stars. SynthScan v2.0 examined 54,135 lines of code across 231 source files, recording 728 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 14.6 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

14.6
Adjusted Score
14.6
Raw Score
100%
Time Factor
2026-07-14
Last Push
6.3K
Stars
Python
Language
54.1K
Lines of Code
231
Files
728
Pattern Hits
2026-07-14
Scan Date
0.04
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 10MEDIUM 15LOW 703

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 728 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers424 hits · 424 pts
SeverityFileLineSnippetContext
LOWtests/TestExternalCommand.py34def is_bleachbit_running_process(process_name, cmdline):CODE
LOWtests/TestExternalCommand.py58def wait_for_process_tree_windows(process, timeout=60, poll_interval=0.1):CODE
LOWtests/TestExternalCommand.py176 def _is_running_based_on_checks(self, is_process_running, window_open):CODE
LOWtests/TestExternalCommand.py351 def _get_shred_command_string(self, file_to_shred):CODE
LOWtests/TestExternalCommand.py385 def test_windows_explorer_context_menu_natural(self):CODE
LOWtests/TestExternalCommand.py397 def test_windows_explorer_context_menu_privilege_escalation(self):CODE
LOWtests/TestExternalCommand.py409 def test_context_menu_command_while_the_app_is_running(self):CODE
LOWtests/TestExternalCommand.py436 def _test_as_non_admin_with_context_menu_path(self, fn_prefix):CODE
LOWtests/TestExternalCommand.py446 def shell_execute_synchronous(lpVerb='', lpFile='', lpParameters='', nShow=''):CODE
LOWtests/TestExternalCommand.py485 def test_is_bleachbit_running_process(self):CODE
LOWtests/TestExternalCommand.py538 def test_wait_for_grandchild_process(self):CODE
LOWtests/TestGtkShim.py86 def test_unknown_error_includes_traceback_and_sysinfo(self):CODE
LOWtests/TestGtkShim.py102 def test_unknown_error_escapes_html_in_error_message(self):CODE
LOWtests/TestGtkShim.py124 def test_yes_writes_html_file(self):CODE
LOWtests/TestGtkShim.py136 def test_no_does_not_write_file(self):CODE
LOWtests/TestGtkShim.py156 def test_unknown_error_includes_traceback_in_html(self):CODE
LOWtests/TestGtkShim.py185 def test_valid_unicode_unchanged(self):CODE
LOWtests/TestGtkShim.py201 def test_restored_on_exception(self):CODE
LOWtests/TestGtkShim.py211 def test_restores_reference_identity(self):CODE
LOWtests/TestWipe.py32 def test_detect_orphaned_wipe_files(self):CODE
LOWtests/TestWipe.py167 def test_wipe_name_when_basic_characters_exist(self):CODE
LOWtests/TestWipe.py196 def test_wipe_name_rejects_windows_invalid_names(self):CODE
LOWtests/TestWipe.py216 def test_wipe_name_allows_windows_reserved_names_on_linux(self):CODE
LOWtests/TestWipe.py228 def test_wipe_name_non_retryable_error(self):CODE
LOWtests/TestWipe.py307 def test_wipe_path_not_directory(self):CODE
LOWtests/TestWipe.py332 def test_wipe_path_tempfile_enametoolong_retry(self):CODE
LOWtests/TestWipe.py351 def test_wipe_path_write_enospc(self):CODE
LOWtests/TestWipe.py374 def test_wipe_path_write_efbig(self):CODE
LOWtests/TestWipe.py383 def test_wipe_path_flush_enospc(self):CODE
LOWtests/TestWipe.py402 def test_wipe_path_idle_yields_eta(self):CODE
LOWtests/TestWipe.py432 def test_wipe_path_cleanup_finally(self):CODE
LOWtests/TestNsisUtilities.py30 def test_generate_add_remove_nsis_expressions(self):CODE
LOWtests/TestNsisUtilities.py62 def _generate_nsis_expressions(self, tree):CODE
LOWtests/TestNsisUtilities.py91 def _generate_nsis_expressions_helper(self, target_dir, tree, expected_install_expression,CODE
LOWtests/TestNsisUtilities.py116 def test_walk_with_parent_directory_and_filepaths(self):CODE
LOWtests/TestNsisUtilities.py121 def test_write_nsis_expressions_to_files(self):CODE
LOWtests/TestNsisUtilities.py166 def test_generate_delete_expressions(self):CODE
LOWtests/TestNsisUtilities.py243 def _generate_install_file_expression(cls, files):CODE
LOWtests/TestNsisUtilities.py248 def _generate_delete_expressions(cls, folder, files):CODE
LOWtests/TestNsisUtilities.py259 def _generate_setoutpath_expression(cls, dir, subdir):CODE
LOWtests/TestNsisUtilities.py263 def _generate_rmdir_expression(cls, dir, subdir):CODE
LOWtests/TestNsisUtilities.py267 def _generate_dir_subdir_expression(cls, command, dir, subdir):CODE
LOWtests/TestFileUtilities.py242 def test_bytes_to_human_one_way(self):CODE
LOWtests/TestFileUtilities.py278 def test_bytes_to_human_roundtrip(self):CODE
LOWtests/TestFileUtilities.py293 def test_bytes_to_human_localization(self):CODE
LOWtests/TestFileUtilities.py304 def test_children_in_directory(self):CODE
LOWtests/TestFileUtilities.py337 def test_children_in_directory_ordering(self):CODE
LOWtests/TestFileUtilities.py388 def test_children_in_directory_posix_symlink(self):CODE
LOWtests/TestFileUtilities.py422 def test_children_in_directory_posix_circular_symlink(self):CODE
LOWtests/TestFileUtilities.py449 def test_children_in_directory_windows_links(self):CODE
LOWtests/TestFileUtilities.py573 def test_delete_ignore_missing(self):CODE
LOWtests/TestFileUtilities.py578 def test_delete_access_denied(self):CODE
LOWtests/TestFileUtilities.py847 def test_delete_read_only_file(self):CODE
LOWtests/TestFileUtilities.py950 def test_delete_read_only_directory(self):CODE
LOWtests/TestFileUtilities.py983 def test_delete_extended_path(self):CODE
LOWtests/TestFileUtilities.py1027 def test_detect_encoding_missing_chardet(self):CODE
LOWtests/TestFileUtilities.py1135 def test_expand_vars_no_change(self):CODE
LOWtests/TestFileUtilities.py1264 def test_get_filesystem_type_missing_psutil(self):CODE
LOWtests/TestFileUtilities.py1360 def test_guess_overwrite_paths(self):CODE
LOWtests/TestFileUtilities.py1414 def test_is_normal_directory_real(self):CODE
364 more matches not shown…
Deep Nesting93 hits · 84 pts
SeverityFileLineSnippetContext
LOWtests/TestExternalCommand.py58CODE
LOWtests/TestExternalCommand.py136CODE
LOWtests/TestExternalCommand.py209CODE
LOWtests/test_with_sudo.py32CODE
LOWtests/TestFileUtilities.py209CODE
LOWtests/TestFileUtilities.py718CODE
LOWtests/TestFileUtilities.py950CODE
LOWtests/TestCookie.py146CODE
LOWtests/TestOptions.py404CODE
LOWtests/TestCommon.py75CODE
LOWtests/TestProtectedPath.py431CODE
LOWtests/TestProtectedPath.py435CODE
LOWtests/TestGeneral.py161CODE
LOWtests/TestGeneral.py258CODE
LOWtests/TestSpecial.py341CODE
LOWtests/TestAction.py95CODE
LOWtests/TestAction.py139CODE
LOWtests/TestWindows.py782CODE
LOWtests/TestWindows.py894CODE
LOWtests/TestWindows.py1037CODE
LOWtests/TestNetwork.py59CODE
LOWtests/TestNetwork.py179CODE
LOWtests/TestCLI.py248CODE
LOWtests/TestCLI.py424CODE
LOWtests/TestCLI.py434CODE
LOWtests/TestCLI.py444CODE
LOWtests/TestCLI.py455CODE
LOWtests/TestCLI.py466CODE
LOWtests/TestCLI.py504CODE
LOWtests/TestCLI.py516CODE
LOWtests/TestWindowsWipe.py290CODE
LOWtests/TestMemory.py52CODE
LOWtests/TestMemory.py65CODE
LOWtests/TestMemory.py284CODE
LOWtests/TestMemory.py449CODE
LOWtests/TestMemory.py477CODE
LOWtests/TestCleaner.py181CODE
LOWtests/TestCleaner.py206CODE
LOWbleachbit/Worker.py88CODE
LOWbleachbit/Worker.py160CODE
LOWbleachbit/Worker.py215CODE
LOWbleachbit/Worker.py263CODE
LOWbleachbit/GuiStartup.py238CODE
LOWbleachbit/GuiWindow.py396CODE
LOWbleachbit/GuiWindow.py626CODE
LOWbleachbit/GuiWindow.py663CODE
LOWbleachbit/GuiWindow.py980CODE
LOWbleachbit/Command.py159CODE
LOWbleachbit/Unix.py325CODE
LOWbleachbit/Unix.py87CODE
LOWbleachbit/Unix.py119CODE
LOWbleachbit/FileUtilities.py258CODE
LOWbleachbit/FileUtilities.py448CODE
LOWbleachbit/FileUtilities.py589CODE
LOWbleachbit/FileUtilities.py755CODE
LOWbleachbit/FileUtilities.py915CODE
LOWbleachbit/SystemInformation.py181CODE
LOWbleachbit/WindowsWipe.py163CODE
LOWbleachbit/WindowsWipe.py242CODE
LOWbleachbit/WindowsWipe.py362CODE
33 more matches not shown…
Excessive Try-Catch Wrapping84 hits · 84 pts
SeverityFileLineSnippetContext
LOWtests/test_with_sudo.py113 except Exception as e:CODE
MEDIUMtests/test_with_sudo.py114 print(f"Error running sudo tests: {e}")CODE
MEDIUMtests/TestAll.py24 print(f'Error importing tests: {e}')CODE
LOWtests/TestFileUtilities.py975 except Exception:CODE
LOWtests/TestWipePath.py279 except Exception:CODE
LOWtests/TestWipePath.py448 except Exception:CODE
MEDIUMtests/TestWipePath.py512 print(f"Error: unsupported filesystem(s): {', '.join(invalid)}")CODE
MEDIUMtests/TestWindowsWipe.py95 print(f"Error opening {path}: {e}")CODE
LOWbleachbit/Bootstrap.py33 except Exception:CODE
LOWbleachbit/Worker.py102 except Exception as e:CODE
LOWbleachbit/Options.py162 except Exception:CODE
LOWbleachbit/Options.py479 except Exception:CODE
LOWbleachbit/GuiStartup.py161 except Exception as e:CODE
LOWbleachbit/GuiWindow.py274 except Exception as e:CODE
LOWbleachbit/GuiWindow.py288 except Exception as e:CODE
LOWbleachbit/GuiWindow.py730 except Exception:CODE
LOWbleachbit/GuiWindow.py804 except Exception:CODE
LOWbleachbit/GuiWindow.py1296 except Exception as e:CODE
LOWbleachbit/Command.py83 except Exception as e:CODE
LOWbleachbit/Command.py179 except Exception as e:CODE
LOWbleachbit/Unix.py71 except Exception as errormsg:CODE
LOWbleachbit/Unix.py339 except Exception as e:CODE
LOWbleachbit/Unix.py377 except Exception as e1:CODE
LOWbleachbit/Unix.py384 except Exception as e2:CODE
LOWbleachbit/Unix.py937 except Exception as e:CODE
LOWbleachbit/Memory.py194 except Exception:CODE
LOWbleachbit/Memory.py265 except Exception:CODE
LOWbleachbit/WindowsWipe.py1138 except Exception as e:CODE
LOWbleachbit/GtkShim.py125 except Exception:CODE
LOWbleachbit/GtkShim.py202 except Exception as e:STRING
LOWbleachbit/GtkShim.py274 except Exception as e:CODE
LOWbleachbit/GtkShim.py305 except Exception as e:CODE
LOWbleachbit/Action.py469 except Exception as e:CODE
LOWbleachbit/Action.py479 except Exception as e:CODE
LOWbleachbit/Action.py622 except Exception as e:CODE
MEDIUMbleachbit/Action.py618def run_process():CODE
LOWbleachbit/GuiChaff.py172 except Exception as exc:CODE
LOWbleachbit/GuiChaff.py192 except Exception as exc:CODE
LOWbleachbit/Cleaner.py83 except Exception:CODE
LOWbleachbit/Cleaner.py503 except Exception:CODE
LOWbleachbit/Wipe.py172 except Exception as e:CODE
LOWbleachbit/Wipe.py508 except Exception as e:CODE
LOWbleachbit/Wipe.py527 except Exception as e:CODE
LOWbleachbit/CLI.py105 except Exception:CODE
LOWbleachbit/Winapp.py166 except Exception:CODE
LOWbleachbit/Winapp.py462 except Exception:CODE
LOWbleachbit/CleanerML.py158 except Exception as e:CODE
LOWbleachbit/CleanerML.py212 except Exception:CODE
LOWbleachbit/CleanerML.py400 except Exception:CODE
LOWbleachbit/CleanerML.py457 except Exception:STRING
MEDIUMbleachbit/Windows.py1308def run(self):CODE
LOWbleachbit/Windows.py1646 except Exception:CODE
LOWbleachbit/Windows.py1650 except Exception:CODE
LOWbleachbit/Windows.py1657 except Exception:CODE
LOWbleachbit/Windows.py1665 except Exception:CODE
LOWbleachbit/Windows.py322 except Exception:CODE
LOWbleachbit/Windows.py459 except Exception as e:CODE
LOWbleachbit/Windows.py702 except Exception as wait_err:CODE
LOWbleachbit/Windows.py753 except Exception:CODE
LOWbleachbit/Windows.py798 except Exception as e:CODE
24 more matches not shown…
Cross-Language Confusion6 hits · 38 pts
SeverityFileLineSnippetContext
HIGHbleachbit/GuiWindow.py1019 self.status_bar.push(context_id, text)CODE
HIGHbleachbit/Special.py319 "where moz_bookmarks.id is null); "CODE
HIGHbleachbit/Special.py326 cmds += "update moz_places set visit_count=0, frecency=-1, last_visit_date=null;"CODE
HIGHbleachbit/Special.py333 "where moz_places.id is null); "CODE
HIGHbleachbit/Special.py344 "from moz_places where favicon_id is not null ); "CODE
HIGHbleachbit/Special.py405 "where fk is not null){filter}")CODE
Over-Commented Block36 hits · 36 pts
SeverityFileLineSnippetContext
LOWrequirements.txt1# These are universal dependencies.COMMENT
LOWtests/TestWipePath.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestWinapp.py201 @common.skipUnlessWindowsCOMMENT
LOWtests/TestWinapp.py321COMMENT
LOWtests/TestCommand.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestLanguage.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestCleanerML.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestUpdate.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestChaff.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Update.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Worker.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Options.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Command.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/GuiBasic.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Memory.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Log.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/FontCheckDialog.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/SystemInformation.py1COMMENT
LOWbleachbit/WindowsWipe.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/WindowsWipe.py1021COMMENT
LOWbleachbit/GuiPreferences.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/GuiChaff.py41 # when generating chaff (dummy) files. This option means "stop afterCOMMENT
LOWbleachbit/Cleaner.py541 '^' + os.path.expanduser('~/.cache/wallpaper/'),COMMENT
LOWbleachbit/Wipe.py481 # TRANSLATORS: Debug message showing disk space available to the root (admin) user.COMMENT
LOWbleachbit/Language.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Network.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/CleanerML.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/DeepScan.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Special.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Special.py421 cmds = ""COMMENT
LOWbleachbit/GUI.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/ProtectedPath.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/General.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/General.py401 # gksu in Ubuntu 9.10 changes the username. If the username is root,COMMENT
LOWscripts/install-deps.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/install-deps.sh21#COMMENT
Modern Structural Boilerplate31 hits · 31 pts
SeverityFileLineSnippetContext
LOWtests/TestNetwork.py36logger = logging.getLogger(__name__)CODE
LOWbleachbit/Update.py40logger = logging.getLogger(__name__)CODE
LOWbleachbit/Worker.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/Options.py42logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiStartup.py22logger = logging.getLogger(__name__)CODE
LOWbleachbit/Command.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/Unix.py27logger = logging.getLogger(__name__)CODE
LOWbleachbit/FileUtilities.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/Chaff.py21logger = logging.getLogger(__name__)CODE
LOWbleachbit/Memory.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/SystemInformation.py39logger = logging.getLogger(__name__)CODE
LOWbleachbit/WindowsWipe.py140logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiPreferences.py42logger = logging.getLogger(__name__)CODE
LOWbleachbit/GtkShim.py49logger = logging.getLogger(__name__)CODE
LOWbleachbit/Action.py31logger = logging.getLogger(__name__)CODE
LOWbleachbit/Cookie.py21logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiChaff.py25logger = logging.getLogger(__name__)CODE
LOWbleachbit/Wipe.py34logger = logging.getLogger(__name__)CODE
LOWbleachbit/CLI.py24logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiCookie.py24logger = logging.getLogger(__name__)CODE
LOWbleachbit/Language.py25logger = logging.getLogger(__name__)CODE
LOWbleachbit/Winapp.py23logger = logging.getLogger(__name__)CODE
LOWbleachbit/Network.py65logger = logging.getLogger(__name__)CODE
LOWbleachbit/CleanerML.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/Windows.py83logger = logging.getLogger(__name__)CODE
LOWbleachbit/Special.py39logger = logging.getLogger(__name__)CODE
LOWbleachbit/GUI.py36logger = logging.getLogger(__name__)CODE
LOWbleachbit/ProtectedPath.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/General.py35logger = logging.getLogger(__name__)CODE
LOWbleachbit/RecognizeCleanerML.py23logger = logging.getLogger(__name__)CODE
LOWwindows/setup.py46logger = logging.getLogger(__name__)CODE
Redundant / Tautological Comments19 hits · 28 pts
SeverityFileLineSnippetContext
LOWtests/TestExternalCommand.py431 if p.poll() is None: # Check if process is still runningCODE
LOWtests/TestWipe.py37 # Set shred_drives to include our temp directoryCOMMENT
LOWtests/TestWindowsWipe.py286 # Close the file handle to release the lockCOMMENT
LOWtests/TestWorker.py143 # Open the file with a blocking handle that allows read/write but blocks delete.COMMENT
LOWbleachbit/GuiStartup.py36 # Check if old_version < target_versionCOMMENT
LOWbleachbit/GuiStartup.py286 # Check if any selected cleaning option has a warningCOMMENT
LOWbleachbit/GuiWindow.py329 # Check if splash screen is forced via environment variableCOMMENT
LOWbleachbit/GuiWindow.py916 # Check if this option has a cookie commandCOMMENT
LOWbleachbit/GuiWindow.py923 # Check if this is the system.custom optionCOMMENT
LOWbleachbit/GuiPreferences.py787 # Check if user already confirmed this pathCOMMENT
LOWbleachbit/Wipe.py163 # Set range to the entire filesystemCOMMENT
LOWbleachbit/Winapp.py421 # Check if this registry key is excluded (exact match or starts with exclusion)COMMENT
LOWbleachbit/Winapp.py426 # Check if the path matches the exclusion (exact match or starts with exclusion)COMMENT
LOWbleachbit/Windows.py516 # Check if this key is excludedCOMMENT
LOWbleachbit/Windows.py521 # Check if the key matches the exclusion (exact match or is a child of exclusion)COMMENT
LOWbleachbit/Windows.py545 # Check if any child keys are excludedCOMMENT
LOWbleachbit/ProtectedPath.py191 # Check if user path is a parent of protected pathCOMMENT
LOWbleachbit/ProtectedPath.py197 # Check if user path is a child of protected path (within depth)COMMENT
LOWwindows/setup.py218 # Check if target file exists and compare contentCOMMENT
Self-Referential Comments7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMtests/TestFileUtilities.py427 # Create a normal directory and file inside the base directoryCOMMENT
MEDIUMtests/TestRecognizeCleanerML.py32 # Create a CleanerML file so list_cleanerml_files() returns a file,COMMENT
MEDIUMtests/TestCommon.py201 # Create a file in the current directoryCOMMENT
MEDIUMtests/TestSystemInformation.py105 # Create a directory with Unicode characters that will have a short pathCOMMENT
MEDIUMtests/TestCleaner.py355 # Create the fileCOMMENT
MEDIUMbleachbit/GuiCookie.py111 # Create the TreeViewCOMMENT
MEDIUMbleachbit/General.py234 # Define the current operating system.COMMENT
Docstring Block Structure4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHtests/TestExternalCommand.py59Wait for a process and its grandchildren to complete on Windows. This function handles the case where a child proceSTRING
HIGHbleachbit/FileUtilities.py590Execute SQL commands on SQLite database Args: path (str): Path to the SQLite database file cmds (stSTRING
HIGHbleachbit/Cookie.py153Process cookies with optional deletion based on keep list Args: path (str): Path to the cookies database fiSTRING
HIGHbleachbit/Network.py156Fetch a URL using requests library Args: url (str): URL to fetch content from max_retries (int, optSTRING
Unused Imports18 hits · 18 pts
SeverityFileLineSnippetContext
LOWtests/TestCommon.py156CODE
LOWtests/TestCommon.py157CODE
LOWtests/TestCommon.py154CODE
LOWtests/TestCommon.py150CODE
LOWtests/TestCommon.py152CODE
LOWtests/TestAction.py13CODE
LOWtests/TestAction.py27CODE
LOWtests/TestAction.py28CODE
LOWtests/TestWindowsWipe.py31CODE
LOWtests/TestWindowsWipe.py31CODE
LOWtests/TestWindowsWipe.py31CODE
LOWbleachbit/__init__.py14CODE
LOWbleachbit/__init__.py14CODE
LOWbleachbit/markovify/__init__.py3CODE
LOWbleachbit/markovify/__init__.py4CODE
LOWbleachbit/markovify/__init__.py4CODE
LOWbleachbit/markovify/__init__.py5CODE
LOWbleachbit/markovify/__init__.py6CODE
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWbleachbit/Command.py58CODE
LOWbleachbit/FileUtilities.py638CODE
LOWbleachbit/Winapp.py62CODE
LOWbleachbit/CleanerML.py437CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbleachbit/Constant.py38# Expert mode is an option in the preferences to relax guardrails.COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/install-deps.sh8# Usage:COMMENT