update functionality
This commit is contained in:
35
src/main.sh
35
src/main.sh
@@ -93,6 +93,13 @@ EOF
|
||||
EOF
|
||||
)
|
||||
export AWK_GET
|
||||
|
||||
AWK_UPDATE=$(
|
||||
cat <<'EOF'
|
||||
@@include src/awk/update.awk
|
||||
EOF
|
||||
)
|
||||
export AWK_UPDATE
|
||||
### END OF AWK SCRIPTS
|
||||
|
||||
## Colors
|
||||
@@ -236,22 +243,31 @@ __list() {
|
||||
# LC_ALL=c xargs -I {} date -d "{}" +"%a %e %b %Y"
|
||||
}
|
||||
|
||||
__canonical_datetime_hm() {
|
||||
s="$1"
|
||||
t=$(date -d "@$s" +"%R")
|
||||
dfmt="%F"
|
||||
if [ "$t" != "00:00" ]; then
|
||||
dfmt="$dfmt %R"
|
||||
fi
|
||||
date -d "@$s" +"$dfmt"
|
||||
}
|
||||
|
||||
__canonical_datetime() {
|
||||
s="$1"
|
||||
shift
|
||||
t=$(date -d "@$s" +"%R")
|
||||
dfmt="$*%e %b %Y"
|
||||
if [ "$t" != "00:00" ]; then
|
||||
dfmt="$dfmt %Y %R %Z"
|
||||
dfmt="$dfmt %R %Z"
|
||||
fi
|
||||
date -d "@$s" +"$dfmt"
|
||||
}
|
||||
|
||||
__edit() {
|
||||
start=$(__canonical_datetime "$1")
|
||||
end=$(__canonical_datetime "$2")
|
||||
start=$(__canonical_datetime_hm "$1")
|
||||
end=$(__canonical_datetime_hm "$2")
|
||||
fpath="$3"
|
||||
# Use $start $end and $fpath
|
||||
summary=$(awk -v field="SUMMARY" "$AWK_GET" "$fpath")
|
||||
description=$(awk -v field="DESCRIPTION" "$AWK_GET" "$fpath")
|
||||
filetmp=$(mktemp --suffix='.md')
|
||||
@@ -267,12 +283,9 @@ __edit() {
|
||||
|
||||
# Update only if changes are detected
|
||||
if [ "$checksum" != "$(cksum "$filetmp")" ]; then
|
||||
# TODO: finish implementation
|
||||
echo "going to update..."
|
||||
read -r tmp
|
||||
#file_new="$filetmp.ics"
|
||||
#awk "$AWK_UPDATE" "$filetmp" "$file" >"$file_new"
|
||||
#mv "$file_new" "$file"
|
||||
filenew="$filetmp.ics"
|
||||
awk "$AWK_UPDATE" "$filetmp" "$fpath" >"$filenew"
|
||||
mv "$filenew" "$fpath"
|
||||
fi
|
||||
rm "$filetmp"
|
||||
}
|
||||
@@ -332,7 +345,6 @@ if [ "${1:-}" = "--day" ]; then
|
||||
--accept-nth='1,2,3,4' \
|
||||
--preview="$0 --preview {}" \
|
||||
--bind="backspace:first+accept" \
|
||||
--bind="ctrl-n:become($0 --new ${FZF_NTH:-})" \
|
||||
--bind="ctrl-s:execute($SYNC_CMD ; printf 'Press <enter> to continue.'; read -r tmp)"
|
||||
)
|
||||
hour=$(echo "$selection" | cut -d '|' -f 1)
|
||||
@@ -341,7 +353,6 @@ if [ "${1:-}" = "--day" ]; then
|
||||
fpath=$(echo "$selection" | cut -d '|' -f 4 | sed "s/ /|/g")
|
||||
if [ -n "$fpath" ]; then
|
||||
fpath="$ROOT/$fpath"
|
||||
# TODO: Go on edit file
|
||||
__edit "$start" "$end" "$fpath"
|
||||
elif [ -n "$hour" ]; then
|
||||
# TODO: Go on add entry for hour
|
||||
|
Reference in New Issue
Block a user