Compare commits
8 Commits
fe5c02be27
...
testing
| Author | SHA1 | Date | |
|---|---|---|---|
| d9372881bf | |||
| e9add46de0 | |||
| e0728a6ab3 | |||
| bd7b0be8e6 | |||
| 70e2b73883 | |||
| c5397a501b | |||
| 542ba1b9b0 | |||
| a7cb1db0bc |
@@ -8,10 +8,10 @@ CHILDREN="true" # If we want child voicebanks, we do so we can get all songs fro
|
|||||||
START=0 # Start at the beginning of the recordset. if i wanted to make the file in chunks to use the api less i would use this and max to get the songs in chunks. They say dont use it "thousands of times a day", getting every teto song is 280 times. I think I'm ok. maybe.
|
START=0 # Start at the beginning of the recordset. if i wanted to make the file in chunks to use the api less i would use this and max to get the songs in chunks. They say dont use it "thousands of times a day", getting every teto song is 280 times. I think I'm ok. maybe.
|
||||||
RESULTS=100 # Max results. Limit is 100.
|
RESULTS=100 # Max results. Limit is 100.
|
||||||
MAX=30000 # when to stop, there's as of 4-23-26 over 28,000 songs featuring Kasane Teto in the recordset i have selected.
|
MAX=30000 # when to stop, there's as of 4-23-26 over 28,000 songs featuring Kasane Teto in the recordset i have selected.
|
||||||
if [ ! -f var.json ]; then # var.json has our latest date, we use it to know where to stop going back, past it the songs already exist in the fortune file.
|
if [ ! -f dates/${ARTIST}var.json ]; then # var.json has our latest date, we use it to know where to stop going back, past it the songs already exist in the fortune file.
|
||||||
echo '{"lastDate": "2000-04-21T00:00:00Z"}' > var.json # if it doesn't exist, we create it with a default date back in 2000.
|
echo '{"lastDate": "2000-04-21T00:00:00Z"}' > dates/${ARTIST}var.json # if it doesn't exist, we create it with a default date back in 2000.
|
||||||
fi
|
fi
|
||||||
PREVDATE=$(jq -r '.lastDate' var.json)
|
PREVDATE=$(jq -r '.lastDate' dates/${ARTIST}var.json)
|
||||||
AFTERDATE=$(date -u -d "$PREVDATE + 1 Second" +"%Y-%m-%dT%H:%M:%SZ")
|
AFTERDATE=$(date -u -d "$PREVDATE + 1 Second" +"%Y-%m-%dT%H:%M:%SZ")
|
||||||
echo "Result: $AFTERDATE"
|
echo "Result: $AFTERDATE"
|
||||||
#rm tetofortunes var.json tetofortunes.dat # during testing we will remove everything, or if we want to regenerate the fortune file from scratch.
|
#rm tetofortunes var.json tetofortunes.dat # during testing we will remove everything, or if we want to regenerate the fortune file from scratch.
|
||||||
@@ -27,9 +27,9 @@ if [ "$SONGS" -eq 0 ]; then
|
|||||||
echo "Result is empty. No more songs."
|
echo "Result is empty. No more songs."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
DATE=$(echo "$DATA" | jq -r '.items[0].publishDate')
|
DATE=$(date -u +%Y-%m-%dT00:00:00Z)
|
||||||
echo "DATE: $DATE"
|
echo "DATE: $DATE"
|
||||||
echo "{\"lastDate\": \"$DATE\"}" > var.json
|
echo "{\"lastDate\": \"$DATE\"}" > dates/${ARTIST}var.json
|
||||||
# looping the api to get all songs we need.
|
# looping the api to get all songs we need.
|
||||||
while true; do
|
while true; do
|
||||||
CURLURL="https://vocadb.net/api/songs?songTypes=Original&afterDate=${AFTERDATE}&&artistId%5B%5D=${ARTIST}&childVoicebanks=${CHILDREN}&onlyWithPvs=true&status=Finished&start=${START}&maxResults=${RESULTS}&sort=PublishDate&fields=PVs"
|
CURLURL="https://vocadb.net/api/songs?songTypes=Original&afterDate=${AFTERDATE}&&artistId%5B%5D=${ARTIST}&childVoicebanks=${CHILDREN}&onlyWithPvs=true&status=Finished&start=${START}&maxResults=${RESULTS}&sort=PublishDate&fields=PVs"
|
||||||
@@ -51,8 +51,8 @@ while true; do
|
|||||||
echo "$url"
|
echo "$url"
|
||||||
echo ""
|
echo ""
|
||||||
echo "▼・ᴗ・▼"
|
echo "▼・ᴗ・▼"
|
||||||
echo "%"
|
echo "\`"
|
||||||
done >> fortunes/tetosotd/tetofortunes
|
done >> vocafortunes/vocadb/$ARTIST
|
||||||
if [ "$START" -ge "$MAX" ]; then
|
if [ "$START" -ge "$MAX" ]; then
|
||||||
echo "Reached max results. Stopping."
|
echo "Reached max results. Stopping."
|
||||||
break
|
break
|
||||||
@@ -60,9 +60,42 @@ while true; do
|
|||||||
echo "Done!"
|
echo "Done!"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
readarray -d '`' tetosongs < vocafortunes/vocadb/$ARTIST
|
||||||
|
|
||||||
|
readarray -td '' dups < <(
|
||||||
|
(( ${#tetosongs[@]} == 0 )) ||
|
||||||
|
printf '%s\0' "${tetosongs[@]}" |
|
||||||
|
LC_ALL=C sort -z |
|
||||||
|
LC_ALL=C uniq -zd
|
||||||
|
)
|
||||||
|
readarray -td '' uniq < <(
|
||||||
|
(( ${#tetosongs[@]} == 0 )) ||
|
||||||
|
printf '%s\0' "${tetosongs[@]}" |
|
||||||
|
LC_ALL=C sort -z |
|
||||||
|
LC_ALL=C uniq -zu
|
||||||
|
)
|
||||||
|
|
||||||
|
echo ${#tetosongs[@]}
|
||||||
|
if ((${#dups[@]} > 0)); then
|
||||||
|
echo >&2 "array has duplicates:"
|
||||||
|
echo ${#dups[@]}
|
||||||
|
fi
|
||||||
|
if ((${#uniq[@]} > 0)); then
|
||||||
|
echo >&2 "Uniques:"
|
||||||
|
echo ${#uniq[@]}
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf >&2 '%s' "${dups[@]}" > dups
|
||||||
|
printf >&2 '%s' "${uniq[@]}" > uniq
|
||||||
|
|
||||||
|
cat uniq > fixed
|
||||||
|
cat dups >> fixed
|
||||||
|
sed -i '1,/^TETO SONG OF THE DAY!/{/^TETO SONG OF THE DAY!$/!d}' fixed
|
||||||
|
rm vocafortunes/vocadb/$ARTIST
|
||||||
|
rm uniq dups
|
||||||
|
mv fixed vocafortunes/vocadb/$ARTIST
|
||||||
# create the fortune database from tetofortunes
|
# create the fortune database from tetofortunes
|
||||||
rm fortunes/tetosotd/tetofortunes.dat # delete the old database if it extists.
|
git add vocafortunes/vocadb/$ARTIST dates/${ARTIST}var.json
|
||||||
strfile -c % fortunes/tetosotd/tetofortunes fortunes/tetosotd/tetofortunes.dat
|
|
||||||
git add fortunes/tetosotd/tetofortunes fortunes/tetosotd/tetofortunes.dat var.json
|
|
||||||
git commit -m "Update fortune files"
|
git commit -m "Update fortune files"
|
||||||
git push -u origin main
|
git push -u origin main
|
||||||
|
|||||||
@@ -1,14 +1,19 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
#
|
||||||
|
# Updated 5-1-2026 to use new vocafortunes script instead of fortune/misfortune
|
||||||
|
#
|
||||||
|
#
|
||||||
# download custom fortunes and config file
|
# download custom fortunes and config file
|
||||||
echo "Updating tetosong..."
|
echo "Updating tetosong..."
|
||||||
# check if the config file exists, if not download it and prompt the user for options.
|
# check if the config file exists, if not download it and prompt the user for options.
|
||||||
|
|
||||||
|
#### remove files from old version
|
||||||
|
rm -rf ~/.local/share/tetosong/fortunes/
|
||||||
|
# add new files
|
||||||
mkdir -p ~/.local/share/tetosong
|
mkdir -p ~/.local/share/tetosong
|
||||||
|
mkdir -p ~/.local/share/tetosong/vocafortunes
|
||||||
|
mkdir -p ~/.local/share/tetosong/vocafortunes/vocadb
|
||||||
mkdir -p ~/.local/share/tetosong/fortunes
|
curl -sLo ~/.local/share/tetosong/vocafortunes/vocadb/140308 https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/vocafortunes/vocadb/140308
|
||||||
mkdir -p ~/.local/share/tetosong/fortunes/tetosotd
|
|
||||||
curl -sLo ~/.local/share/tetosong/fortunes/tetosotd/tetofortunes https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/fortunes/tetosotd/tetofortunes
|
|
||||||
curl -sLo ~/.local/sharetetosong/fortunes/tetosotd/tetofortunes.dat https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/fortunes/tetosotd/tetofortunes.dat
|
|
||||||
AUDIO="$(. ~/.local/share/tetosong/tetosong.config; echo $AUDIO)"
|
AUDIO="$(. ~/.local/share/tetosong/tetosong.config; echo $AUDIO)"
|
||||||
if [ "$AUDIO" = "YES" ]; then
|
if [ "$AUDIO" = "YES" ]; then
|
||||||
curl -sLo ~/.local/share/tetosong/SOTD.zip https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/audio/teto/SOTD.zip
|
curl -sLo ~/.local/share/tetosong/SOTD.zip https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/audio/teto/SOTD.zip
|
||||||
@@ -37,5 +42,7 @@ fi
|
|||||||
echo "writing tetosong to ~/.local/bin"
|
echo "writing tetosong to ~/.local/bin"
|
||||||
mkdir -p ~/.local/bin
|
mkdir -p ~/.local/bin
|
||||||
curl -sLo ~/.local/bin/tetosong https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetosong
|
curl -sLo ~/.local/bin/tetosong https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetosong
|
||||||
|
curl -sLo ~/.local/bin/tetosong https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/vocafortune
|
||||||
chmod +x ~/.local/bin/tetosong
|
chmod +x ~/.local/bin/tetosong
|
||||||
echo "Update complete"
|
chmod +x ~/.local/bin/vocafortune
|
||||||
|
echo "Make sure ~/.local/bin is in your PATH and you can get your Teto Song Of the Day by typing in tetosong or adding it to your bashrc :)"
|
||||||
|
|||||||
1
dates/140308var.json
Normal file
1
dates/140308var.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"lastDate": "2026-05-02T00:00:00Z"}
|
||||||
Binary file not shown.
27
installer.sh
27
installer.sh
@@ -1,16 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# check which fortune command is installed if any.
|
#
|
||||||
if ! [ -x "$(command -v fortune)" ]; then
|
# Updated 5-1-2026 to use new vocafortunes script instead of fortune/misfortune
|
||||||
echo 'fortune is not installed, checking for misfortune'm
|
#
|
||||||
if ! [ -x "$(command -v misfortune)" ]; then
|
#
|
||||||
echo 'neither program is installed, exiting'
|
#
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo 'misfortune found'
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo 'fortune found'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# download custom fortunes and config file
|
# download custom fortunes and config file
|
||||||
echo "Downloading custom fortunes and config file..."
|
echo "Downloading custom fortunes and config file..."
|
||||||
@@ -38,10 +31,10 @@ case $yn in
|
|||||||
* ) echo "Please answer yes or no.";;
|
* ) echo "Please answer yes or no.";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
mkdir -p ~/.local/share/tetosong/fortunes
|
mkdir -p ~/.local/share/tetosong/vocafortunes
|
||||||
mkdir -p ~/.local/share/tetosong/fortunes/tetosotd
|
mkdir -p ~/.local/share/tetosong/vocafortunes/vocadb
|
||||||
curl -sLo ~/.local/share/tetosong/fortunes/tetosotd/tetofortunes https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/fortunes/tetosotd/tetofortunes
|
curl -sLo ~/.local/share/tetosong/vocafortunes/vocadb/140308 https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/vocafortunes/vocadb/140308
|
||||||
curl -sLo ~/.local/share/tetosong/fortunes/tetosotd/tetofortunes.dat https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/fortunes/tetosotd/tetofortunes.dat
|
|
||||||
|
|
||||||
# set up autoupdater
|
# set up autoupdater
|
||||||
# i use systemd, so i use systemd timers. I'll figure out something for non-systemd users later.
|
# i use systemd, so i use systemd timers. I'll figure out something for non-systemd users later.
|
||||||
@@ -62,5 +55,7 @@ fi
|
|||||||
echo "writing tetosong to ~/.local/bin"
|
echo "writing tetosong to ~/.local/bin"
|
||||||
mkdir -p ~/.local/bin
|
mkdir -p ~/.local/bin
|
||||||
curl -sLo ~/.local/bin/tetosong https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetosong
|
curl -sLo ~/.local/bin/tetosong https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetosong
|
||||||
|
curl -sLo ~/.local/bin/vocafortune https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/vocafortune
|
||||||
chmod +x ~/.local/bin/tetosong
|
chmod +x ~/.local/bin/tetosong
|
||||||
|
chmod +x ~/.local/bin/vocafortune
|
||||||
echo "Make sure ~/.local/bin is in your PATH and you can get your Teto Song Of the Day by typing in tetosong or adding it to your bashrc :)"
|
echo "Make sure ~/.local/bin is in your PATH and you can get your Teto Song Of the Day by typing in tetosong or adding it to your bashrc :)"
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ CHILDREN="true" # If we want child voicebanks, we do so we can get all songs fro
|
|||||||
START=0 # Start at the beginning of the recordset. if i wanted to make the file in chunks to use the api less i would use this and max to get the songs in chunks. They say dont use it "thousands of times a day", getting every teto song is 280 times. I think I'm ok. maybe.
|
START=0 # Start at the beginning of the recordset. if i wanted to make the file in chunks to use the api less i would use this and max to get the songs in chunks. They say dont use it "thousands of times a day", getting every teto song is 280 times. I think I'm ok. maybe.
|
||||||
RESULTS=100 # Max results. Limit is 100.
|
RESULTS=100 # Max results. Limit is 100.
|
||||||
MAX=30000 # when to stop, there's as of 4-23-26 over 28,000 songs featuring Kasane Teto in the recordset i have selected.
|
MAX=30000 # when to stop, there's as of 4-23-26 over 28,000 songs featuring Kasane Teto in the recordset i have selected.
|
||||||
if [ ! -f var.json ]; then # var.json has our latest date, we use it to know where to stop going back, past it the songs already exist in the fortune file.
|
if [ ! -f dates/${ARTIST}var.json ]; then # var.json has our latest date, we use it to know where to stop going back, past it the songs already exist in the fortune file.
|
||||||
echo '{"lastDate": "2000-04-21T00:00:00Z"}' > var.json # if it doesn't exist, we create it with a default date back in 2000.
|
echo '{"lastDate": "2000-04-21T00:00:00Z"}' > dates/${ARTIST}var.json # if it doesn't exist, we create it with a default date back in 2000.
|
||||||
fi
|
fi
|
||||||
PREVDATE=$(jq -r '.lastDate' var.json)
|
PREVDATE=$(jq -r '.lastDate' dates/${ARTIST}var.json)
|
||||||
AFTERDATE=$(date -u -d "$PREVDATE + 1 Second" +"%Y-%m-%dT%H:%M:%SZ")
|
AFTERDATE=$(date -u -d "$PREVDATE + 1 Second" +"%Y-%m-%dT%H:%M:%SZ")
|
||||||
echo "Result: $AFTERDATE"
|
echo "Result: $AFTERDATE"
|
||||||
#rm tetofortunes var.json tetofortunes.dat # during testing we will remove everything, or if we want to regenerate the fortune file from scratch.
|
#rm tetofortunes var.json tetofortunes.dat # during testing we will remove everything, or if we want to regenerate the fortune file from scratch.
|
||||||
@@ -23,9 +23,9 @@ if [ "$SONGS" -eq 0 ]; then
|
|||||||
echo "Result is empty. No more songs."
|
echo "Result is empty. No more songs."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
DATE=$(echo "$DATA" | jq -r '.items[0].publishDate')
|
DATE=$(date -u +%Y-%m-%dT00:00:00Z)
|
||||||
echo "DATE: $DATE"
|
echo "DATE: $DATE"
|
||||||
echo "{\"lastDate\": \"$DATE\"}" > var.json
|
echo "{\"lastDate\": \"$DATE\"}" > dates/${ARTIST}var.json
|
||||||
# looping the api to get all songs we need.
|
# looping the api to get all songs we need.
|
||||||
while true; do
|
while true; do
|
||||||
CURLURL="https://vocadb.net/api/songs?songTypes=Original&afterDate=${AFTERDATE}&&artistId%5B%5D=${ARTIST}&childVoicebanks=${CHILDREN}&onlyWithPvs=true&status=Finished&start=${START}&maxResults=${RESULTS}&sort=PublishDate&fields=PVs"
|
CURLURL="https://vocadb.net/api/songs?songTypes=Original&afterDate=${AFTERDATE}&&artistId%5B%5D=${ARTIST}&childVoicebanks=${CHILDREN}&onlyWithPvs=true&status=Finished&start=${START}&maxResults=${RESULTS}&sort=PublishDate&fields=PVs"
|
||||||
@@ -47,8 +47,8 @@ while true; do
|
|||||||
echo "$url"
|
echo "$url"
|
||||||
echo ""
|
echo ""
|
||||||
echo "▼・ᴗ・▼"
|
echo "▼・ᴗ・▼"
|
||||||
echo "%"
|
echo "\`"
|
||||||
done >> tetofortunes
|
done >> vocafortunes/vocadb/$ARTIST
|
||||||
if [ "$START" -ge "$MAX" ]; then
|
if [ "$START" -ge "$MAX" ]; then
|
||||||
echo "Reached max results. Stopping."
|
echo "Reached max results. Stopping."
|
||||||
break
|
break
|
||||||
@@ -56,6 +56,42 @@ while true; do
|
|||||||
echo "Done!"
|
echo "Done!"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
readarray -d '`' tetosongs < vocafortunes/vocadb/$ARTIST
|
||||||
|
|
||||||
|
readarray -td '' dups < <(
|
||||||
|
(( ${#tetosongs[@]} == 0 )) ||
|
||||||
|
printf '%s\0' "${tetosongs[@]}" |
|
||||||
|
LC_ALL=C sort -z |
|
||||||
|
LC_ALL=C uniq -zd
|
||||||
|
)
|
||||||
|
readarray -td '' uniq < <(
|
||||||
|
(( ${#tetosongs[@]} == 0 )) ||
|
||||||
|
printf '%s\0' "${tetosongs[@]}" |
|
||||||
|
LC_ALL=C sort -z |
|
||||||
|
LC_ALL=C uniq -zu
|
||||||
|
)
|
||||||
|
|
||||||
|
echo ${#tetosongs[@]}
|
||||||
|
if ((${#dups[@]} > 0)); then
|
||||||
|
echo >&2 "array has duplicates:"
|
||||||
|
echo ${#dups[@]}
|
||||||
|
fi
|
||||||
|
if ((${#uniq[@]} > 0)); then
|
||||||
|
echo >&2 "Uniques:"
|
||||||
|
echo ${#uniq[@]}
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf >&2 '%s' "${dups[@]}" > dups
|
||||||
|
printf >&2 '%s' "${uniq[@]}" > uniq
|
||||||
|
|
||||||
|
cat uniq > fixed
|
||||||
|
cat dups >> fixed
|
||||||
|
sed -i '1,/^TETO SONG OF THE DAY!/{/^TETO SONG OF THE DAY!$/!d}' fixed
|
||||||
|
rm vocafortunes/vocadb/$ARTIST
|
||||||
|
rm uniq dups
|
||||||
|
mv fixed vocafortunes/vocadb/$ARTIST
|
||||||
|
|
||||||
# create the fortune database from tetofortunes
|
# create the fortune database from tetofortunes
|
||||||
rm tetofortunes.dat # delete the old database if it extists.
|
#rm tetofortunes.dat # delete the old database if it extists.
|
||||||
strfile -c % tetofortunes tetofortunes.dat
|
#strfile -c % tetofortunes tetofortunes.dat
|
||||||
|
|||||||
37
tetosong
37
tetosong
@@ -1,4 +1,9 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
#
|
||||||
|
# Updated 5-1-26 to use new vocafortune script and not require fortune/misfortune.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
# argument handling
|
# argument handling
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
@@ -31,14 +36,8 @@ fi
|
|||||||
# check if the user wants to play audio
|
# check if the user wants to play audio
|
||||||
AUDIO="$(. ~/.local/share/tetosong/tetosong.config; echo $AUDIO)"
|
AUDIO="$(. ~/.local/share/tetosong/tetosong.config; echo $AUDIO)"
|
||||||
|
|
||||||
# check which fortune command is installed if any and then run it
|
vocafortune >> /tmp/fortune
|
||||||
if ! [ -x "$(command -v fortune)" ]; then
|
if [ "$AUDIO" = "YES" ]; then
|
||||||
if ! [ -x "$(command -v misfortune)" ]; then
|
|
||||||
echo 'No fortune commmand is installed, exiting!'
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
misfortune ~/.local/share/tetosong/fortunes/*/* >> /tmp/fortune # fortune and misfortune handle directories differently
|
|
||||||
if [ "$AUDIO" = "YES" ]; then # i guess i could foregoe checking and just run the audio either way since i dont download it unless the user enables it, but i want them to be ableto turn it off if they choose to
|
|
||||||
if grep -q "SV2" /tmp/fortune; then
|
if grep -q "SV2" /tmp/fortune; then
|
||||||
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/sv2SOTD.wav 2>/dev/null >/dev/null &
|
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/sv2SOTD.wav 2>/dev/null >/dev/null &
|
||||||
elif grep -q "SV" /tmp/fortune; then
|
elif grep -q "SV" /tmp/fortune; then
|
||||||
@@ -48,24 +47,6 @@ if ! [ -x "$(command -v fortune)" ]; then
|
|||||||
else
|
else
|
||||||
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/sv2SOTD.wav 2>/dev/null >/dev/null &
|
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/sv2SOTD.wav 2>/dev/null >/dev/null &
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
cat /tmp/fortune
|
|
||||||
rm /tmp/fortune
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
fortune ~/.local/share/tetosong/fortunes/* >> /tmp/fortune
|
|
||||||
if [ "$AUDIO" = "YES" ]; then
|
|
||||||
if grep -q "SV2" /tmp/fortune; then
|
|
||||||
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/sv2SOTD.wav 2>/dev/null >/dev/null &
|
|
||||||
elif grep -q "SV" /tmp/fortune; then
|
|
||||||
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/svSOTD.wav 2>/dev/null >/dev/null &
|
|
||||||
elif grep -q "重音テト" /tmp/fortune; then
|
|
||||||
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/utSOTD.wav 2>/dev/null >/dev/null &
|
|
||||||
else
|
|
||||||
nohup ffplay -nodisp -autoexit -v quiet ~/.local/share/tetosong/audio/teto/sv2SOTD.wav 2>/dev/null >/dev/null &
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat /tmp/fortune
|
|
||||||
rm /tmp/fortune
|
|
||||||
fi
|
fi
|
||||||
|
cat /tmp/fortune
|
||||||
|
rm /tmp/fortune
|
||||||
|
|||||||
10
vocafortune
Executable file
10
vocafortune
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# VOCAFORTUNE! Make tetosong not need fortune anymore!
|
||||||
|
while [ $# -gt 0 ]; do export "${1#-}"="$2"; shift 2; done # now it can be -l ./vocafortunes like a proper program!!!! # argument handling # i can use this anywhere!!!!!!! save this you!!!!!!
|
||||||
|
#fortune script
|
||||||
|
shopt -s globstar
|
||||||
|
if [ -z "$l" ]; then export "DIR"="$HOME/.local/share/tetosong/vocafortunes/**"; else export "DIR"="$l/**"; fi
|
||||||
|
for file in $DIR; do if [[ -f "$file" ]]; then readarray -td '`' temp < "$file"; array+=("${temp[@]}"); fi; done
|
||||||
|
export "ITEMS"="${#array[@]}"
|
||||||
|
export "CHOICE"="$(shuf -i 1-$ITEMS -n 1)"
|
||||||
|
echo "${array[$CHOICE]}"
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user