aboutsummaryrefslogtreecommitdiff
path: root/image.sh
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2026-06-03 23:57:21 +0530
committerAkshay Nair <phenax5@gmail.com>2026-06-03 23:57:21 +0530
commited4b84d2ca7e5b13d010effefb8ae676d084124a (patch)
tree7aa142e52a3a2bd9e1d760dc8648e523d919dae7 /image.sh
parent3be6325b1292233fae4817b3b864eca7b9911898 (diff)
downloadsqlite-creative-coding-ed4b84d2ca7e5b13d010effefb8ae676d084124a.tar.gz
sqlite-creative-coding-ed4b84d2ca7e5b13d010effefb8ae676d084124a.zip
Refactor image.sh to handle png + cleanup sql
Diffstat (limited to '')
-rwxr-xr-ximage.sh25
1 files changed, 18 insertions, 7 deletions
diff --git a/image.sh b/image.sh
index 6a82ee6..69da148 100755
--- a/image.sh
+++ b/image.sh
@@ -1,13 +1,24 @@
#!/usr/bin/env sh
-DB=fun.db
+set -eu
-[ $# -lt 1 ] && echo "Fuck" && exit 1;
+db() { sqlite3 -tabs -noheader "$DB" "$@"; }
+
+ppm() {
+ image_id="$1"
+ echo "P3"
+ db "SELECT width, height FROM images WHERE id='$image_id'"
+ echo "255"
+ db "SELECT r,g,b FROM pixels WHERE image_id='$image_id' ORDER BY y ASC, x ASC"
+}
+
+save_png() { magick ppm:- "media/$1.png"; }
-db() { sqlite3 -list -noheader "$DB" "$@"; }
+display() { magick display ppm:-; }
+
+[ $# -lt 1 ] && echo "Fuck" && exit 1;
image_id="$1"
-echo "P3"
-db "SELECT width, height FROM images WHERE id='$image_id'" | awk -F'|' '{ print $1 " " $2 }'
-echo "255"
-db "SELECT r,g,b FROM pixels WHERE image_id='$image_id' ORDER BY y ASC, x ASC" | tr '|' ' '
+DB="${2:-fun.db}"
+
+ppm "$image_id" | tee >(save_png "$image_id") | display