debugging and improved parse awk-script call for speed
This commit is contained in:
		@@ -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"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
      "$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.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user