debugging and improved parse awk-script call for speed

This commit is contained in:
Ämin Baumeler 2025-06-28 13:07:42 +02:00
parent 80dbfc0264
commit 7c6de7e19c
3 changed files with 22 additions and 6 deletions

View File

@ -36,6 +36,10 @@ __refresh_data() {
WEEKLY_DATA_FILE=$(mktemp)
trap 'rm -f "$WEEKLY_DATA_FILE"' EXIT INT
fi
debug "__refresh_data(): going to load approx data"
__load_approx_data >"$APPROX_DATA_FILE"
debug "__refresh_data(): approx data loaded"
debug "__refresh_data(): going to load weeks"
__load_weeks >"$WEEKLY_DATA_FILE"
debug "__refresh_data(): weeks loaded"
}

View File

@ -6,6 +6,14 @@ err() {
echo "$1" >/dev/tty
}
# debug()
# Pring debug message to fzf-vcal.debug
#
# @input $1: Debug message
debug() {
echo "$(date +"%D %T.%N"): $1" >>"fzf-vcal.debug"
}
# Print date or datetime in a human and machine readable form.
#
# @input $1: Seconds since epoch

View File

@ -77,21 +77,22 @@ __view_day() {
# This function prints the view for the week that contains the day specified in `$DISPLAY_DATE`.
__view_week() {
debug "__view_week(): Enter"
weeknr=$(date -d "$DISPLAY_DATE" +"%G:%V:")
files=$(grep "^$weeknr" "$WEEKLY_DATA_FILE" | cut -f 2)
dayofweek=$(date -d "$DISPLAY_DATE" +"%u")
delta=$((1 - dayofweek))
startofweek=$(date -d "$DISPLAY_DATE -$delta days" +"%D")
# loop over files
debug "__view_week(): loop over files"
sef=$({
set -- $files
for file in "$@"; do
file="$ROOT/$file"
printf "%s" "$files" | xargs -d " " -I {} -P0 \
awk \
-v collection_labels="$COLLECTION_LABELS" \
"$AWK_PARSE" "$file"
done
-v collection_labels="$COLLECTION_LABELS" \
"$AWK_PARSE" "$ROOT/{}"
})
debug "__view_week(): loop over files ended"
debug "__view_week(): prepare week view"
if [ -n "$sef" ]; then
sef=$(echo "$sef" | while IFS= read -r line; do
set -- $line
@ -134,6 +135,8 @@ __view_week() {
done
done)
fi
debug "__view_week(): prepare week view ended"
debug "__view_week(): generate week view"
sef=$({
echo "$sef"
seq 0 7
@ -145,6 +148,7 @@ __view_week() {
-v style_summary="$STYLE_WV_SUMMARY" \
-v style_time="$STYLE_WV_TIME" \
"$AWK_WEEKVIEW"
debug "__view_week(): generate week view ended"
}
# This function prints all entries.