add podlist, zdconvert; update README
This commit is contained in:
parent
21666c992a
commit
4f05f8a6e4
3 changed files with 74 additions and 0 deletions
|
@ -34,6 +34,10 @@ Background worker to sync an imap mailbox.
|
|||
|
||||
Generate a timesheet for a given month by manipulating the output from `zeit`
|
||||
|
||||
### zdconvert
|
||||
|
||||
Breakdown weekly data from `zeit` into by-day/by-project buckets for easy transferral to daptiv
|
||||
|
||||
### riosh
|
||||
|
||||
Shell script to loosley emulate `rio` behavior in a EWMH-compliant WM
|
||||
|
@ -54,6 +58,10 @@ tint2 system load/memory, battery, and network info
|
|||
|
||||
displays either regular or arvelie clock in a tint2 executor, with an action to switch them as well
|
||||
|
||||
### podlist
|
||||
|
||||
Parse podcast `rss` feeds into `m3u` playlists to drag-n-drop into `audacious` or any other audio player; uses `xmllint` from [libxml2](https://github.com/GNOME/libxml2)
|
||||
|
||||
## License
|
||||
|
||||
This collection is released permissively under the MIT License. You can do whatever you want with it, as long as you leave my name on it.
|
||||
|
|
16
podlist.sh
Executable file
16
podlist.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Derek Stevens <nilix@nilfm.cc>
|
||||
# MIT license
|
||||
|
||||
# export PODLIST_DATA_DIR=/wherever/you/want in your shell startup
|
||||
# and keep a .feeds file in it where each line looks like:
|
||||
# podcast_name https://domain.com/path/to/rss/feed
|
||||
|
||||
while read l; do
|
||||
set -- ${l}
|
||||
tmpfile=$(mktemp)
|
||||
wget -O ${tmpfile} $2
|
||||
xmllint --xpath '/rss/channel/item/enclosure/@url' ${tmpfile} | sed -e 's/url=//g' -e 's/"//g' > ${PODLIST_DATA_DIR:-~}/${1}.m3u
|
||||
rm ${tmpfile}
|
||||
done < ${PODLIST_DATA_DIR:-~}/.feeds
|
50
zdconvert.sh
Executable file
50
zdconvert.sh
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/bin/sh
|
||||
|
||||
# format zeit data for easy transferrence to daptiv
|
||||
# Derek Stevens <nilix@nilfm.cc>
|
||||
# MIT License
|
||||
|
||||
if [ "$1" = "--help" ]; then
|
||||
echo "usage:"
|
||||
echo " $0 WEEKS_AGO_START=1 WEEKS_AGO_END=1"
|
||||
echo " Print report of tracked time for the given weeks to stdout"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
weeks_start=${1:-1}
|
||||
weeks_end=${2:-1}
|
||||
|
||||
while [ ${weeks_start} -ge ${weeks_end} ]; do
|
||||
start=$(date -Is --date="0:00 Sat ${weeks_start} weeks ago")
|
||||
end=$(date -Is --date="23:59 Fri $((weeks_start - 1)) weeks ago")
|
||||
|
||||
echo "week starting ${start}"
|
||||
zeit list --since ${start} --until ${end} --total --no-colors --decimal | tail -n2
|
||||
|
||||
i=${weeks_start}
|
||||
oldifs=${IFS}
|
||||
for d in Sat Sun Mon Tue Wed Thu Fri; do
|
||||
echo "${d}"
|
||||
[ "${d}" = $(date +"%a") ] && [ ${weeks_start} -eq 1 ] && i=$((i-1))
|
||||
dayStart=$(date -Is --date="00:00 ${d} ${i} weeks ago")
|
||||
dayEnd=$(date -Is --date="23:59 ${d} ${i} weeks ago")
|
||||
IFS="
|
||||
"
|
||||
for p in $(zeit list --since ${dayStart} --until ${dayEnd} --only-projects-and-tasks --no-colors | grep ◆ | awk '{for (i=2; i<NF; i++) printf $i " "; print $NF;}'); do
|
||||
echo "\t${p}:"
|
||||
|
||||
|
||||
ntasks=1
|
||||
while read task; do
|
||||
echo "\t\t${task} $(zeit list --since ${dayStart} --until ${dayEnd} --project ${p} --decimal | awk '{print $(NF-1) "\n";}' | head -n${ntasks} | tail -n1)"
|
||||
ntasks=$((ntasks+1))
|
||||
done << EOF
|
||||
$(zeit list --since ${dayStart} --until ${dayEnd} --project ${p} --decimal | awk '{for (i=2; i<NF; i++) printf $i " "; print $NF;}' | awk -F' on' '{print $1 "\n"}')
|
||||
EOF
|
||||
echo "\t\t$(zeit list --since ${dayStart} --until ${dayEnd} --project ${p} --total --decimal | tail -n2 | cut -f2- -d ' ')"
|
||||
done
|
||||
|
||||
IFS=${oldifs}
|
||||
done
|
||||
weeks_start=$((weeks_start-1))
|
||||
done
|
Loading…
Reference in a new issue