testsAndMisc/linux_configuration/scripts/single_use/utils
Krzysztof kuhy Rudnicki 2a7b9d90ac install_plagiarism_tools.sh: split 534 -> 94 + 3 libs, with a real test harness
Wraps the four install stages into named functions, one per lib/plagiarism_*.sh
sibling (matching install_exercism.sh's convention), and extracts the two
embedded Python heredocs into real, lint-clean check_plagiarism.py/sherlock.py
files -- check_plagiarism.py needed a second split into plagiarism_similarity.py
to also clear the 250-line cap. Every function reaches 100% shell coverage via
a PATH-shim test harness (fake python3/pip/git/java/wine); the two Python CLIs
were separately verified against a real venv with actual nltk/scikit-learn.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-18 20:41:18 +02:00
..
data Split update_android_hosts.sh; extract its blocklist as data 2026-08-16 21:23:39 +02:00
lib install_plagiarism_tools.sh: split 534 -> 94 + 3 libs, with a real test harness 2026-08-18 20:41:18 +02:00
analyze_repo.sh Keep this session's splits shfmt-clean 2026-08-16 22:05:01 +02:00
check_brother_printer.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
check_plagiarism.py install_plagiarism_tools.sh: split 534 -> 94 + 3 libs, with a real test harness 2026-08-18 20:41:18 +02:00
convert_video.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
convert_words.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
docx_to_pdf.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
download_exercism_bulk.sh Fail the build on any shellcheck finding; fix the 222 the old gate hid 2026-08-03 19:49:11 +02:00
download_nltk_data.py Gate the no-inline-Python rule instead of asking people to remember it 2026-08-16 15:11:56 +02:00
fast_count.py refactor: extract all inline Python from shell scripts into proper .py files 2026-06-06 10:31:48 +02:00
find_keepassxc.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
format_sd_card.sh Split seven more linux_configuration scripts 2026-08-16 18:56:05 +02:00
generate_study_materials.sh Fail the build on any shellcheck finding; fix the 222 the old gate hid 2026-08-03 19:49:11 +02:00
gif_to_square.sh Fix the 11 shellcheck findings that kept CI red since b83ce5d 2026-08-04 20:55:02 +02:00
image_to_resolution.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
install_exercism.sh Split seven more linux_configuration scripts 2026-08-16 18:56:05 +02:00
install_offline_docs.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
install_plagiarism_tools.sh install_plagiarism_tools.sh: split 534 -> 94 + 3 libs, with a real test harness 2026-08-18 20:41:18 +02:00
lookup_docs.sh Split three more linux_configuration giants 2026-08-16 19:43:55 +02:00
organize_downloads.sh Split three large linux_configuration scripts, defer a fourth 2026-08-16 19:06:16 +02:00
pdf_to_image.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
plagiarism_similarity.py install_plagiarism_tools.sh: split 534 -> 94 + 3 libs, with a real test harness 2026-08-18 20:41:18 +02:00
repo_to_study.sh Split five more linux_configuration single_use scripts 2026-08-16 18:51:28 +02:00
root_bl9000.sh Split three more linux_configuration giants 2026-08-16 19:43:55 +02:00
setup_android_adblock.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
setup_media_organizer.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
setup_offline_docs.sh Split offline docs and arch optimiser; defer libre_translate 2026-08-16 20:09:54 +02:00
setup_passwordless_system.sh fixes/utils: split nvidia_troubleshoot 336 -> 169+181, passwordless 374 -> 195+193 2026-08-17 14:18:06 +02:00
sherlock.py install_plagiarism_tools.sh: split 534 -> 94 + 3 libs, with a real test harness 2026-08-18 20:41:18 +02:00
sort_downloads.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
steam_compatibility.sh steam_compatibility: split 663 -> 140 + 199 + 156 + 124 + 103 2026-08-17 14:32:41 +02:00
sync_keepassxc.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
to_mp4.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
to_webm.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
toggle_mic.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
toggle_wheel.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
toggle_window_manager.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
turn_off_auto_idle_screen_shutdown.sh Split three near-miss linux_configuration scripts 2026-08-16 18:38:43 +02:00
txt_to_image.sh Fix the 11 shellcheck findings that kept CI red since b83ce5d 2026-08-04 20:55:02 +02:00
update_android_hosts.sh Split update_android_hosts.sh; extract its blocklist as data 2026-08-16 21:23:39 +02:00
upgrade.sh Fail the build on any shellcheck finding; fix the 222 the old gate hid 2026-08-03 19:49:11 +02:00
volume_control.sh feat: split oversized modules for 500-line limit, fix kasa coverage gap 2026-06-14 07:19:37 +02:00