Author: Adam <git@apiote.xyz>
water script
.local/bin/drank | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ .local/bin/drunk | 1
diff --git a/.local/bin/drank b/.local/bin/drank new file mode 100755 index 0000000000000000000000000000000000000000..f8d4e28a2039ca88f9d30a2e13e717e3a6b7bfb5 --- /dev/null +++ b/.local/bin/drank @@ -0,0 +1,53 @@ +#!/bin/sh + +mkdir -p "$HOME/.local/state/water" + +if [ ! -f "$HOME/.local/state/water/water.db" ] +then + sqlite3 "$HOME/.local/state/water/water.db" "create table devices (device_id text, device_type text)" + meID=$(uuidgen -r) + sqlite3 "$HOME/.local/state/water/water.db" "insert into devices values('$meID', 'me')" + sqlite3 "$HOME/.local/state/water/water.db" "create table intakes (date text, time text, amount int, drink text, device_id text)" +fi + +case "$(basename "$0")" in + drank) + if [ -z "$1" ] || [ -z "$2" ] + then + echo 'usage drank <amount> <drink> [time]' + exit 1 + fi + if echo "$1" | grep -Eq '^[0-9]+ml$' + then + amount=$(echo "$1" | grep -Eq '^[0-9]+') + elif echo "$1" | grep -Eq '^[0-9.]+$' + then + amount=$(echo "$1" | grep -E '^([0-9]+(\.[0-9]+)?)|(\.[0-9]+)$' -o) + amount=$(echo "$amount * 1000" | bc) + else + case "$1" in + glass) amount=100 ;; + cup) amount=250 ;; + can) amount=300 ;; + mug) amount=400 ;; + Mug) amount=500 ;; + bottle) amount=700 ;; + esac + fi + if [ -z "$3" ] + then + date=$(date '+%Y%m%d') + time=$(date '+%H%M%S') + else + date=$(echo "$3" | cut -c -8) + time="$(echo "$3" | cut -c 8-)00" + fi + meID=$(sqlite3 "$HOME/.local/state/water/water.db" -noheader "select device_id from devices where device_type = 'me'" 2>/dev/null) + sqlite3 "$HOME/.local/state/water/water.db" "insert into intakes values('$date', '$time', $amount, '$2', '$meID')" 2>/dev/null + echo "ok, drank ${amount} ml $2" + ;; + drunk) + today=$(date '+%Y%m%d') + sqlite3 "$HOME/.local/state/water/water.db" -noheader "select amount, drink, time from devices join intakes using(device_id) where device_type = 'me' and date = '$today'" 2>/dev/null + ;; +esac diff --git a/.local/bin/drunk b/.local/bin/drunk new file mode 120000 index 0000000000000000000000000000000000000000..e01cd44bbdca69eb8687a3ff62156522f058611d --- /dev/null +++ b/.local/bin/drunk @@ -0,0 +1 @@ +drank \ No newline at end of file