refactor(mole): use MOLE_STATE_DIR env var and add detailed export support
Make log and export file paths configurable via MOLE_STATE_DIR. Add optional MOLE_DETAILED_EXPORT_FILE for per-item cleanup reporting. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
10
bin/clean.sh
10
bin/clean.sh
@@ -26,7 +26,8 @@ DRY_RUN=false
|
|||||||
PROTECT_FINDER_METADATA=false
|
PROTECT_FINDER_METADATA=false
|
||||||
IS_M_SERIES=$([[ "$(uname -m)" == "arm64" ]] && echo "true" || echo "false")
|
IS_M_SERIES=$([[ "$(uname -m)" == "arm64" ]] && echo "true" || echo "false")
|
||||||
|
|
||||||
EXPORT_LIST_FILE="$HOME/.config/mole/clean-list.txt"
|
EXPORT_LIST_FILE="${MOLE_EXPORT_LIST_FILE:-$MOLE_STATE_DIR/clean-list.txt}"
|
||||||
|
DETAILED_EXPORT_FILE="${MOLE_DETAILED_EXPORT_FILE:-}"
|
||||||
CURRENT_SECTION=""
|
CURRENT_SECTION=""
|
||||||
readonly PROTECTED_SW_DOMAINS=(
|
readonly PROTECTED_SW_DOMAINS=(
|
||||||
"capcut.com"
|
"capcut.com"
|
||||||
@@ -652,6 +653,9 @@ safe_clean() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
echo "$(dirname "$path")|$size|$path" >> "$paths_temp"
|
echo "$(dirname "$path")|$size|$path" >> "$paths_temp"
|
||||||
|
if [[ -n "$DETAILED_EXPORT_FILE" ]]; then
|
||||||
|
printf "%s\t%s\t%s\n" "$CURRENT_SECTION" "$path" "$size" >> "$DETAILED_EXPORT_FILE"
|
||||||
|
fi
|
||||||
idx=$((idx + 1))
|
idx=$((idx + 1))
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
@@ -722,6 +726,10 @@ start_cleanup() {
|
|||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
ensure_user_file "$EXPORT_LIST_FILE"
|
ensure_user_file "$EXPORT_LIST_FILE"
|
||||||
|
if [[ -n "$DETAILED_EXPORT_FILE" ]]; then
|
||||||
|
mkdir -p "$(dirname "$DETAILED_EXPORT_FILE")"
|
||||||
|
: > "$DETAILED_EXPORT_FILE"
|
||||||
|
fi
|
||||||
cat > "$EXPORT_LIST_FILE" << EOF
|
cat > "$EXPORT_LIST_FILE" << EOF
|
||||||
# Mole Cleanup Preview - $(date '+%Y-%m-%d %H:%M:%S')
|
# Mole Cleanup Preview - $(date '+%Y-%m-%d %H:%M:%S')
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -21,9 +21,11 @@ fi
|
|||||||
# Logging Configuration
|
# Logging Configuration
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
readonly LOG_FILE="${HOME}/.config/mole/mole.log"
|
readonly MOLE_STATE_DIR="${MOLE_STATE_DIR:-${HOME}/.config/mole}"
|
||||||
readonly DEBUG_LOG_FILE="${HOME}/.config/mole/mole_debug_session.log"
|
|
||||||
readonly OPERATIONS_LOG_FILE="${HOME}/.config/mole/operations.log"
|
readonly LOG_FILE="${MOLE_STATE_DIR}/mole.log"
|
||||||
|
readonly DEBUG_LOG_FILE="${MOLE_STATE_DIR}/mole_debug_session.log"
|
||||||
|
readonly OPERATIONS_LOG_FILE="${MOLE_STATE_DIR}/operations.log"
|
||||||
readonly LOG_MAX_SIZE_DEFAULT=1048576 # 1MB
|
readonly LOG_MAX_SIZE_DEFAULT=1048576 # 1MB
|
||||||
readonly OPLOG_MAX_SIZE_DEFAULT=5242880 # 5MB
|
readonly OPLOG_MAX_SIZE_DEFAULT=5242880 # 5MB
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user