Timew: New function to modify the end of a time
This commit is contained in:
parent
349980f01b
commit
cb7c5eafc0
59
zshrc
59
zshrc
|
@ -710,6 +710,65 @@ function tirm() {
|
||||||
unset tirm_confirmation tirm_task_id
|
unset tirm_confirmation tirm_task_id
|
||||||
}
|
}
|
||||||
## }}}
|
## }}}
|
||||||
|
## Modify the end of a time tracking {{{
|
||||||
|
function tiend() {
|
||||||
|
|
||||||
|
# Define new_end empty by default
|
||||||
|
tiend_time_new_end=""
|
||||||
|
|
||||||
|
# Verify argument
|
||||||
|
case "${#}" in
|
||||||
|
1 )
|
||||||
|
## Get the first arg as time ID
|
||||||
|
tiend_time_id="${1}"
|
||||||
|
;;
|
||||||
|
2 )
|
||||||
|
## Get the first arg as time ID
|
||||||
|
tiend_time_id="${1}"
|
||||||
|
|
||||||
|
## Get the second arg as new end time for this track
|
||||||
|
tiend_time_new_end="${2}"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
## Ask the user to choose an ID in time tracking from the yesterday {{{
|
||||||
|
timew summary from yesterday :ids || return 0
|
||||||
|
|
||||||
|
printf '%b' "Enter the ${MAGENTAB}ID${RESET} of the time tracking to modify : "
|
||||||
|
read -r tiend_time_id
|
||||||
|
## }}}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If no time tracking exists with this ID, exit function {{{
|
||||||
|
if ! timew summary :year :ids | grep --quiet -- " @${tiend_time_id} "; then
|
||||||
|
printf '%b' "No available time tracking in the last year with ${REDB}${tiend_time_id}${RESET} ID."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Get time tracking's description from all time tracking of this year
|
||||||
|
local tiend_time_desc=$(timew summary :year :ids | sed -n "s/.*@\(${tiend_time_id} .*\)/\1/p" | sed 's/ */ − /g')
|
||||||
|
|
||||||
|
# Check or ask for new end time {{{
|
||||||
|
if [ -z "${tiend_time_new_end}" ]; then
|
||||||
|
printf '%b' "Enter the ${MAGENTAB}new end time${RESET} (or new date 'YYYY-MM-DD${REDB}T${RESET}HH:MM:SS') for this time tracking : "
|
||||||
|
read -r tiend_time_new_end
|
||||||
|
fi
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
printf '%b' "Change end time of \"${MAGENTAB}${tiend_time_desc}${RESET}\" to ${REDB}=> ${tiend_time_new_end} <=${RESET} [Y/n] ? "
|
||||||
|
read -r tiend_confirmation
|
||||||
|
|
||||||
|
# Check confirmation
|
||||||
|
if printf -- '%s' "${tiend_confirmation:=y}" | grep --quiet --word-regexp -- "y"; then
|
||||||
|
timew modify end @"${tiend_time_id}" "${tiend_time_new_end}" || return 0
|
||||||
|
printf '%b' "End time of ${tiend_time_desc} is now ${tiend_time_new_end}."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Unset defined variables
|
||||||
|
unset tiend_confirmation tiend_time_id tiend_time_new_end
|
||||||
|
}
|
||||||
|
## }}}
|
||||||
## Move a time tracking {{{
|
## Move a time tracking {{{
|
||||||
function timove() {
|
function timove() {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue