debugging and improved parse awk-script call for speed
This commit is contained in:
		@@ -36,6 +36,10 @@ __refresh_data() {
 | 
				
			|||||||
    WEEKLY_DATA_FILE=$(mktemp)
 | 
					    WEEKLY_DATA_FILE=$(mktemp)
 | 
				
			||||||
    trap 'rm -f "$WEEKLY_DATA_FILE"' EXIT INT
 | 
					    trap 'rm -f "$WEEKLY_DATA_FILE"' EXIT INT
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  debug "__refresh_data(): going to load approx data"
 | 
				
			||||||
  __load_approx_data >"$APPROX_DATA_FILE"
 | 
					  __load_approx_data >"$APPROX_DATA_FILE"
 | 
				
			||||||
 | 
					  debug "__refresh_data(): approx data loaded"
 | 
				
			||||||
 | 
					  debug "__refresh_data(): going to load weeks"
 | 
				
			||||||
  __load_weeks >"$WEEKLY_DATA_FILE"
 | 
					  __load_weeks >"$WEEKLY_DATA_FILE"
 | 
				
			||||||
 | 
					  debug "__refresh_data(): weeks loaded"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,14 @@ err() {
 | 
				
			|||||||
  echo "❌ $1" >/dev/tty
 | 
					  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.
 | 
					# Print date or datetime in a human and machine readable form.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# @input $1: Seconds since epoch
 | 
					# @input $1: Seconds since epoch
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,21 +77,22 @@ __view_day() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# This function prints the view for the week that contains the day specified in `$DISPLAY_DATE`.
 | 
					# This function prints the view for the week that contains the day specified in `$DISPLAY_DATE`.
 | 
				
			||||||
__view_week() {
 | 
					__view_week() {
 | 
				
			||||||
 | 
					  debug "__view_week(): Enter"
 | 
				
			||||||
  weeknr=$(date -d "$DISPLAY_DATE" +"%G:%V:")
 | 
					  weeknr=$(date -d "$DISPLAY_DATE" +"%G:%V:")
 | 
				
			||||||
  files=$(grep "^$weeknr" "$WEEKLY_DATA_FILE" | cut -f 2)
 | 
					  files=$(grep "^$weeknr" "$WEEKLY_DATA_FILE" | cut -f 2)
 | 
				
			||||||
  dayofweek=$(date -d "$DISPLAY_DATE" +"%u")
 | 
					  dayofweek=$(date -d "$DISPLAY_DATE" +"%u")
 | 
				
			||||||
  delta=$((1 - dayofweek))
 | 
					  delta=$((1 - dayofweek))
 | 
				
			||||||
  startofweek=$(date -d "$DISPLAY_DATE -$delta days" +"%D")
 | 
					  startofweek=$(date -d "$DISPLAY_DATE -$delta days" +"%D")
 | 
				
			||||||
  # loop over files
 | 
					  # loop over files
 | 
				
			||||||
 | 
					  debug "__view_week(): loop over files"
 | 
				
			||||||
  sef=$({
 | 
					  sef=$({
 | 
				
			||||||
    set -- $files
 | 
					    printf "%s" "$files" | xargs -d " " -I {} -P0 \
 | 
				
			||||||
    for file in "$@"; do
 | 
					 | 
				
			||||||
      file="$ROOT/$file"
 | 
					 | 
				
			||||||
      awk \
 | 
					      awk \
 | 
				
			||||||
        -v collection_labels="$COLLECTION_LABELS" \
 | 
					      -v collection_labels="$COLLECTION_LABELS" \
 | 
				
			||||||
        "$AWK_PARSE" "$file"
 | 
					      "$AWK_PARSE" "$ROOT/{}"
 | 
				
			||||||
    done
 | 
					 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					  debug "__view_week(): loop over files ended"
 | 
				
			||||||
 | 
					  debug "__view_week(): prepare week view"
 | 
				
			||||||
  if [ -n "$sef" ]; then
 | 
					  if [ -n "$sef" ]; then
 | 
				
			||||||
    sef=$(echo "$sef" | while IFS= read -r line; do
 | 
					    sef=$(echo "$sef" | while IFS= read -r line; do
 | 
				
			||||||
      set -- $line
 | 
					      set -- $line
 | 
				
			||||||
@@ -134,6 +135,8 @@ __view_week() {
 | 
				
			|||||||
      done
 | 
					      done
 | 
				
			||||||
    done)
 | 
					    done)
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  debug "__view_week(): prepare week view ended"
 | 
				
			||||||
 | 
					  debug "__view_week(): generate week view"
 | 
				
			||||||
  sef=$({
 | 
					  sef=$({
 | 
				
			||||||
    echo "$sef"
 | 
					    echo "$sef"
 | 
				
			||||||
    seq 0 7
 | 
					    seq 0 7
 | 
				
			||||||
@@ -145,6 +148,7 @@ __view_week() {
 | 
				
			|||||||
    -v style_summary="$STYLE_WV_SUMMARY" \
 | 
					    -v style_summary="$STYLE_WV_SUMMARY" \
 | 
				
			||||||
    -v style_time="$STYLE_WV_TIME" \
 | 
					    -v style_time="$STYLE_WV_TIME" \
 | 
				
			||||||
    "$AWK_WEEKVIEW"
 | 
					    "$AWK_WEEKVIEW"
 | 
				
			||||||
 | 
					  debug "__view_week(): generate week view ended"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This function prints all entries.
 | 
					# This function prints all entries.
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user