Split mkdeck() into two helper functions
This commit is contained in:
parent
27611131ea
commit
4acf8c2355
38
mkdeck.sh
38
mkdeck.sh
|
@ -19,33 +19,41 @@ shell_sanitize() {
|
|||
|
||||
suit_cards() {
|
||||
local name="$(shell_sanitize "$1")"
|
||||
local suits="$(eval "echo \$${name}_SUITS")"
|
||||
local suits=n"$(eval "echo \$${name}_SUITS")"
|
||||
local suit_cards="$(eval "echo \$${name}_SUIT_CARDS")"
|
||||
|
||||
for suit in $suits; do
|
||||
for suit_card in $suit_cards; do
|
||||
printf "${suit}${suit_card} "
|
||||
done
|
||||
done
|
||||
|
||||
eval "echo \$${name}_ADDITIONAL_CARDS"
|
||||
}
|
||||
|
||||
|
||||
mkdeck() {
|
||||
mkdeck_dir() {
|
||||
local dir="$1"
|
||||
local deck_name="$2"
|
||||
|
||||
local cards="$(suit_cards "$deck_name")"
|
||||
if test -z "$cards"; then
|
||||
echo "No cards found for deck $deck_name. Check your environment variables:"
|
||||
echo "${deck_name}_SUITS, ${deck_name}_SUIT_CARDS, and ${deck_name}_ADDITIONAL_CARDS."
|
||||
fi
|
||||
|
||||
if test ! -d "$dir"; then
|
||||
mkdir "$dir"
|
||||
fi
|
||||
if test ! -d "$dir"; then
|
||||
echo "Failed to create deck directory at $dir."
|
||||
return 2
|
||||
1>&2 echo "Failed to create deck directory at $dir."
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
mkdeck_cards() {
|
||||
local dir="$1"
|
||||
local deck_name="$2"
|
||||
local cards="$(suit_cards "$deck_name")"
|
||||
|
||||
if test -z "$cards"; then
|
||||
1>&2 echo "No cards found for deck $deck_name. Check your environment variables:"
|
||||
1>&2 echo "${deck_name}_SUITS, ${deck_name}_SUIT_CARDS, and ${deck_name}_ADDITIONAL_CARDS."
|
||||
exit 3
|
||||
fi
|
||||
|
||||
for card in $cards; do
|
||||
|
@ -54,4 +62,12 @@ mkdeck() {
|
|||
}
|
||||
|
||||
|
||||
mkdeck() {
|
||||
local dir="$1"
|
||||
local deck_name="$2"
|
||||
mkdeck_dir "$dir"
|
||||
mkdeck_cards "$dir" "$deck_name"
|
||||
}
|
||||
|
||||
|
||||
mkdeck "$1" "FRENCH"
|
||||
|
|
Ŝarĝante…
Reference in New Issue