From: Jakub Czajka Date: Tue, 2 Jan 2024 12:00:11 +0000 (+0100) Subject: Add a script for tracking sleep schedule. X-Git-Url: https://git.ekhem.eu.org/?a=commitdiff_plain;h=e50fb3dbbebc144adadaa7d0d7945e77587df393;p=metrics.git Add a script for tracking sleep schedule. --- diff --git a/metrics.sh b/metrics.sh new file mode 100644 index 0000000..ee1fc09 --- /dev/null +++ b/metrics.sh @@ -0,0 +1,55 @@ +#!/bin/sh +# Copyright (c) 2024 Jakub Czajka +# License: GPL-3.0 or later. + +. /etc/environment + +PAGE=" + + + + + Metrics + + + +
+
+ Sleep + + + + + + +
+
+ +" + +echo "HTTP/1.1 200 OK" +echo "Content-Type: text/html" +echo "${PAGE}" | sed 's/^[ \t]*//g' diff --git a/sleep.sh b/sleep.sh new file mode 100644 index 0000000..46a3a29 --- /dev/null +++ b/sleep.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# Copyright (c) 2024 Jakub Czajka +# License: GPL-3.0 or later. + +. /etc/environment + +request_body=$(echo "${REQUEST_BODY}" | /usr/bin/python3 -c "\ +import sys; +from urllib.parse import unquote_plus; +print(unquote_plus(sys.stdin.read()));") + +get_query_param() { + echo "${request_body}" | sed "s/^.*${1}=// ; s/\&.*$//" +} + +query_db() { + /usr/bin/psql --user=metrics_tracker --dbname="${METRICS_DB}" \ + --tuples-only --no-align --command="${1}" +} + +sleep_date=$(get_query_param "date") +start=$(get_query_param "start") +finish=$(get_query_param "finish") +sleep_id=$(query_db "\ +WITH new_sleep_id AS ( + INSERT INTO sleep ( + date, + start, + finish + ) + VALUES ( + '${sleep_date}', + '${start}', + '${finish}' + ) + RETURNING id +) +SELECT * +FROM new_sleep_id;") + +PAGE=" + + + + + Purchase + + + +Recorded new sleep (id=${sleep_id}) from ${start} to ${finish}. + +" + +echo "HTTP/1.1 200 OK" +echo "Content-Type: text/html" +echo "${PAGE}" | sed 's/^[ \t]*//g'