Add scantap

This commit is contained in:
The Magician 2024-08-17 20:13:51 +01:00
parent 7ffa1b0b24
commit 1330c8c507
3 changed files with 56 additions and 0 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
penny_dreadful_downloader/legality_data/
a_scanner_dorkly/.venv/
scantap/images/
MTG-Card-Identifier_v5.pdf
info.txt

8
scantap/createtable.sql Normal file
View File

@ -0,0 +1,8 @@
USE sevenkeys;
CREATE TABLE IF NOT EXISTS CardScans (
Id INT PRIMARY KEY AUTO_INCREMENT,
StorageBox VARCHAR(20) NOT NULL,
Position INT NOT NULL,
Source VARCHAR(100) NULL
);

47
scantap/scantap.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
mysql --user=root --password="$(pass show sevenkeys/mysql)" <createtable.sql
printf "scantap: Enter name of storage box: "
read storageBox
startPosition="$(mysql --silent --silent --user=root --password="$(pass show sevenkeys/mysql)" -e "USE sevenkeys; SELECT Position FROM CardScans WHERE StorageBox = '$storageBox' ORDER BY Position DESC LIMIT 1;")"
position=$((startPosition + 1))
printf "scantap: Enter card source: "
read cardSource
printf "scantap: Enter mode (foil/nonfoil): "
read foilMode
outputDir="images/$foilMode"
mkdir -p "$outputDir"
ADD_CARDS=0
echo "scantap: Beginning scan loop"
while true; do
scanimage --format=png --batch=tmp%d.png --batch-count=2 --source "ADF Duplex" --mode Color --page-width 63mm --page-height 88mm 2>/dev/null
# scanimage exits with code 7 if no documents are available in scanner
if test $? -eq 7; then
if test $ADD_CARDS -eq 0; then
ADD_CARDS=1
echo "scantap: No more cards in feeder" >&2
fi
continue
fi
ADD_CARDS=0
if ! test -e tmp1.png || ! test -e tmp2.png; then
echo "scantap: Failed to create temporary image files"
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;")"
position=$((position + 1))
convert -rotate 180 tmp1.png tmp1.png
convert -rotate 180 tmp2.png tmp2.png
mv tmp1.png "$outputDir/${key}_back.png"
mv tmp2.png "$outputDir/${key}_front.png"
done