From 77a515cba4ca9a791bb30093257dc5bee7283e70 Mon Sep 17 00:00:00 2001 From: The Magician Date: Thu, 5 Sep 2024 10:52:00 +0100 Subject: [PATCH] Update scantap --- scantap/createtable.sql | 8 ++++---- scantap/scantap.sh | 26 +++++++++++++++++++------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/scantap/createtable.sql b/scantap/createtable.sql index 701d209..0fc7a80 100644 --- a/scantap/createtable.sql +++ b/scantap/createtable.sql @@ -1,8 +1,8 @@ USE sevenkeys; -CREATE TABLE IF NOT EXISTS CardScans ( +CREATE TABLE IF NOT EXISTS CardScan ( Id INT PRIMARY KEY AUTO_INCREMENT, - StorageBox VARCHAR(20) NOT NULL, - Position INT NOT NULL, - Source VARCHAR(100) NULL + StorageAreaId INT NOT NULL, + FOREIGN KEY (StorageAreaId) REFERENCES StorageArea(Id), + Position INT NOT NULL ); diff --git a/scantap/scantap.sh b/scantap/scantap.sh index cc2418f..087b8e5 100755 --- a/scantap/scantap.sh +++ b/scantap/scantap.sh @@ -3,14 +3,21 @@ mysql --user=root --password="$(pass show sevenkeys/mysql)" &2 + exit 1 +fi + +startPosition="$(mysql --silent --silent --user=root --password="$(pass show sevenkeys/mysql)" -e "USE sevenkeys; SELECT Position FROM CardScan WHERE StorageAreaId = '$storageAreaId' ORDER BY Position DESC LIMIT 1;")" +if test "$?" -ne "0"; then + echo "scantap: Failed to establish starting position" >&2 + exit 1 +fi position=$((startPosition + 1)) -printf "scantap: Enter card source: " -read cardSource - printf "scantap: Enter mode (foil/nonfoil): " read foilMode outputDir="images/$foilMode" @@ -33,10 +40,15 @@ while true; do ADD_CARDS=0 if ! test -e tmp1.png || ! test -e tmp2.png; then - echo "scantap: Failed to create temporary image files" + echo "scantap: Failed to create temporary image files" >&2 + exit 1 fi - key="$(mysql --silent --silent --user=root --password="$(pass show sevenkeys/mysql)" -e "USE sevenkeys; INSERT INTO CardScans (StorageBox, Position, Source) VALUES ('$storageBox', '$position', '$cardSource'); SELECT Id FROM CardScans ORDER BY Id DESC LIMIT 1;")" + key="$(mysql --silent --silent --user=root --password="$(pass show sevenkeys/mysql)" -e "USE sevenkeys; INSERT INTO CardScan (StorageAreaId, Position) VALUES ('$storageAreaId', '$position'); SELECT Id FROM CardScan ORDER BY Id DESC LIMIT 1;")" + if test "$?" -ne "0"; then + echo "scantap: Failed to get key from database" >&2 + exit 1 + fi position=$((position + 1)) convert -rotate 180 tmp1.png tmp1.png