From be35de785e659cc080dd902cf296b5ce270e2e3f Mon Sep 17 00:00:00 2001 From: not_a_robot06 Date: Sun, 6 Jul 2025 23:07:38 +0100 Subject: first proper version - use hyphens only for separation - only two scripts: one for screenshots and one for making the cards - add README - a little bit of error checking - TODO: if question or answer non existent, then don't break cards.txt --- flashot-make.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 flashot-make.sh (limited to 'flashot-make.sh') diff --git a/flashot-make.sh b/flashot-make.sh new file mode 100755 index 0000000..34c921f --- /dev/null +++ b/flashot-make.sh @@ -0,0 +1,50 @@ +#!/bin/sh +combine() { + for name in $(ls | cut -d- -f1-2 | uniq); do + magick "$name"-q* -append final/"$name"-0.png + magick "$name"-a* -append final/"$name"-1.png + done +} + +cards_txt() { + if [ $(ls cards.txt) ]; then + rm cards.txt + fi + + for name in $(ls *.png | cut -d- -f1 | uniq); do + old_card=-1 + for file in "$name"*; do + card=$(printf "$file" | cut -d- -f2 | cut -d. -f1) + if [[ "$card" = "$old_card" ]] + then + echo "$file\"/>;Card_$card" >> cards.txt + else + printf ";> cards.txt + fi + old_card=$card + done + done +} + +if [ -z "$FLASHOT_ANKI_USER" ]; then FLASHOT_ANKI_USER=Main; fi + + +action=$(printf "make flashcards\nreset" | dmenu -i -p "action?") +if [ "$action" = "make flashcards" ]; then + confirm=$(printf "no\nyes" | dmenu -i -p "are you sure? screenshot names can overwrite others in media folder") + if [ "$confirm" = "yes" ]; then + cd /tmp/flashot + mkdir -p final + combine + cd final + cards_txt + cp *.png ~/.local/share/Anki2/"$FLASHOT_ANKI_USER"/collection.media/ + anki /tmp/flashot/final/cards.txt + fi + +elif [ "$action" = "reset" ]; then + confirm=$(printf "no\nyes" | dmenu -i -p "are you sure? this action cannot be undone") + if [ "$confirm" = "yes" ]; then + rm -rf /tmp/flashot/ + fi +fi -- cgit v1.2.3