mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 21:14:01 +01:00
setup_offline_docs.sh 713 -> 121 across six libs, carved one language at a time since the first cut left offline_cpp at 545. optimize_arch_ desktop.sh 623 -> 118. Two recurring traps again: a script with no SCRIPT_DIR at all, and libs that chained rather than being sourced from the entry. Both now checked for routinely. libre_translate.sh is reverted and stays at 488. Exporting GENERATED to fix one SC2034 revealed eighteen more - when a fix uncovers more of the same, the seam is imaginary, not the fix wrong. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
70 lines
2.3 KiB
Bash
Executable File
70 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Python documentation download and indexing.
|
|
#
|
|
# Sourced by setup_offline_docs.sh; split out to keep it under the 250-line
|
|
# cap. Sourced rather than run, so it inherits the caller's strict mode
|
|
# and the variables defined above the source line.
|
|
|
|
#==============================================================================
|
|
# Python Documentation
|
|
# Source: https://docs.python.org/3/download.html
|
|
#==============================================================================
|
|
download_python_docs() {
|
|
print_header "Python Documentation"
|
|
local dest="$DOCS_DIR/python"
|
|
|
|
# Check if already downloaded
|
|
if [ -f "$dest/library/index.html" ]; then
|
|
print_status "Python docs already present, checking for updates..."
|
|
fi
|
|
|
|
print_status "Downloading Python 3.12 documentation..."
|
|
|
|
# Download HTML documentation (most searchable)
|
|
local url="https://www.python.org/ftp/python/doc/3.12.8/python-3.12.8-docs-html.tar.bz2"
|
|
local archive="/tmp/python-docs.tar.bz2"
|
|
|
|
if curl -L -o "$archive" "$url" 2> /dev/null; then
|
|
print_status "Extracting..."
|
|
tar -xjf "$archive" -C "$dest" --strip-components=1
|
|
rm -f "$archive"
|
|
print_success "Python documentation installed to $dest"
|
|
|
|
# Build index
|
|
build_python_index
|
|
else
|
|
print_error "Failed to download Python docs"
|
|
print_status "Alternative: Use 'python -m pydoc' for built-in docs"
|
|
fi
|
|
}
|
|
|
|
build_python_index() {
|
|
print_status "Building Python documentation index..."
|
|
local dest="$DOCS_DIR/python"
|
|
local index="$INDEX_DIR/python_index.txt"
|
|
|
|
# Create searchable index: term -> file path
|
|
{
|
|
# Index library modules
|
|
find "$dest/library" -name "*.html" -exec basename {} .html \; 2> /dev/null | while read -r mod; do
|
|
echo "$mod $dest/library/$mod.html"
|
|
done
|
|
|
|
# Index built-in functions from functions.html
|
|
if [ -f "$dest/library/functions.html" ]; then
|
|
grep -oP '(?<=id=")[^"]+' "$dest/library/functions.html" 2> /dev/null | while read -r func; do
|
|
echo "$func $dest/library/functions.html#$func"
|
|
done
|
|
fi
|
|
|
|
# Index from general index
|
|
if [ -f "$dest/genindex.html" ]; then
|
|
grep -oP 'href="([^"]+)"[^>]*>([^<]+)' "$dest/genindex.html" 2> /dev/null |
|
|
sed -E 's/href="([^"]+)"[^>]*>([^<]+)/\2 \1/' |
|
|
head -5000
|
|
fi
|
|
} | sort -u > "$index"
|
|
|
|
print_success "Python index created with $(wc -l < "$index") entries"
|
|
}
|