cleand and with-nth
This commit is contained in:
39
src/main.sh
39
src/main.sh
@@ -73,13 +73,6 @@ EOF
|
||||
)
|
||||
export AWK_PARSE
|
||||
|
||||
AWK_WEEKS=$(
|
||||
cat <<'EOF'
|
||||
@@include src/awk/weeks.awk
|
||||
EOF
|
||||
)
|
||||
export AWK_WEEKS
|
||||
|
||||
AWK_WEEKVIEW=$(
|
||||
cat <<'EOF'
|
||||
@@include src/awk/weekview.awk
|
||||
@@ -100,7 +93,7 @@ __load_approx_data() {
|
||||
}
|
||||
|
||||
__load_weeks() {
|
||||
dates=$(awk -F'|' '{ print $1; print $2 }' "$APPROX_DATA_FILE")
|
||||
dates=$(awk -F'|' '{ print $2; print $3 }' "$APPROX_DATA_FILE")
|
||||
file_dates=$(mktemp)
|
||||
echo "$dates" | date --file="/dev/stdin" +"%s" >"$file_dates"
|
||||
awk "$AWK_MERGE" "$file_dates" "$APPROX_DATA_FILE"
|
||||
@@ -110,13 +103,12 @@ __load_weeks() {
|
||||
__list() {
|
||||
weeknr=$(date -d "$DISPLAY_DATE" +"%s")
|
||||
weeknr=$(((weeknr - 259200) / 604800)) # shift, because epoch origin is a Thursday
|
||||
files=$(grep "^$weeknr " "$WEEKLY_DATA_FILE" | cut -d " " -f 2)
|
||||
files=$(grep "^$weeknr " "$WEEKLY_DATA_FILE" | cut -d " " -f 2-)
|
||||
dayofweek=$(date -d "$DISPLAY_DATE" +"%u")
|
||||
delta=$((1 - dayofweek))
|
||||
startofweek=$(date -d "$DISPLAY_DATE -$delta days" +"%D")
|
||||
# loop over files
|
||||
sef=$({
|
||||
IFS=';'
|
||||
set -- $files
|
||||
for file in "$@"; do
|
||||
file="$ROOT/$file"
|
||||
@@ -166,13 +158,11 @@ __list() {
|
||||
}
|
||||
|
||||
if [ -z "${APPROX_DATA_FILE:-}" ]; then
|
||||
echo "GOING TO LOAD"
|
||||
APPROX_DATA_FILE=$(mktemp)
|
||||
__load_approx_data >"$APPROX_DATA_FILE"
|
||||
export APPROX_DATA_FILE
|
||||
fi
|
||||
if [ -z "${WEEKLY_DATA_FILE:-}" ]; then
|
||||
echo "GOING TO LOAD WD"
|
||||
WEEKLY_DATA_FILE=$(mktemp)
|
||||
__load_weeks >"$WEEKLY_DATA_FILE"
|
||||
export WEEKLY_DATA_FILE
|
||||
@@ -188,7 +178,8 @@ DISPLAY_DATE_PREV=$(date -d "$DISPLAY_DATE -1 week" +"%D")
|
||||
DISPLAY_DATE_NEXT=$(date -d "$DISPLAY_DATE +1 week" +"%D")
|
||||
|
||||
selection=$( (
|
||||
cut -d '|' -f 3 "$APPROX_DATA_FILE"
|
||||
#cut -d '|' -f 3 "$APPROX_DATA_FILE"
|
||||
cat "$APPROX_DATA_FILE"
|
||||
yes " " | head -n 50
|
||||
__list
|
||||
) |
|
||||
@@ -197,6 +188,9 @@ selection=$( (
|
||||
--no-sort \
|
||||
--no-hscroll \
|
||||
--ellipsis='' \
|
||||
--delimiter='|' \
|
||||
--with-nth='{4}' \
|
||||
--accept-nth=1,2,3,5 \
|
||||
--ansi \
|
||||
--no-clear \
|
||||
--bind="ctrl-p:become($0 --date '$DISPLAY_DATE_PREV')" \
|
||||
@@ -208,16 +202,15 @@ if [ -z "$selection" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
case "$selection" in
|
||||
"~"*)
|
||||
start=$(echo "$selection" | rev | cut -d';' -f 1 | rev)
|
||||
exec $0 --date "$start"
|
||||
;;
|
||||
*)
|
||||
day=$(echo "$selection" | rev | cut -d';' -f 1 | rev)
|
||||
exec $0 --day "$day"
|
||||
;;
|
||||
esac
|
||||
sign=$(echo "$selection" | cut -d '|' -f 1)
|
||||
startdate=$(echo "$selection" | cut -d '|' -f 2)
|
||||
endate=$(echo "$selection" | cut -d '|' -f 3)
|
||||
files=$(echo "$selection" | cut -d '|' -f 4)
|
||||
if [ "$sign" = "~" ]; then
|
||||
exec $0 --date "$startdate"
|
||||
else
|
||||
exec $0 --day "$startdate"
|
||||
fi
|
||||
echo "Going to end..."
|
||||
echo "$selection"
|
||||
echo "STOPPING NOW"
|
||||
|
Reference in New Issue
Block a user