Merged script 1 and script 2

This commit is contained in:
2020-12-18 21:43:28 +01:00
parent 1c34847c97
commit eae737a216
+158 -21
View File
@@ -1,42 +1,179 @@
#!/bin/bash #!/bin/bash
readonly USAGE="
USAGE:
$(basename "$0") [SYSTEM]"
function help_message() {
echo "$USAGE"
echo
echo "Where [SYSTEM] are:"
for WORD in $SYSTEMS; do
echo -e "\t$WORD"
done
}
SYSTEMS="apple2 arcade atari2600 atari7800 atarilynx coleco gamegear gb gba gbc mastersystem megadrive msx n64 nes ngpc pcengine sega32x sg1000 snes vectrex virtualboy wonderswan wonderswancolor" SYSTEMS="apple2 arcade atari2600 atari7800 atarilynx coleco gamegear gb gba gbc mastersystem megadrive msx n64 nes ngpc pcengine sega32x sg1000 snes vectrex virtualboy wonderswan wonderswancolor"
#check if there is any parameter # check if there is any parameter
if [ "$#" -ne 1 ]; then if [ "$#" -ne 1 ]; then
echo "You must enter a system name." echo "You must enter a system name."
exit 0 exit 0
fi fi
# check if the parameter is valid # check if the parameter is valid
if ! echo "$SYSTEMS" | grep -w "$1" > /dev/null; then if ! echo "$SYSTEMS" | grep -w "$1" >/dev/null; then
echo "You must enter a valid system name." echo "You must enter a valid system name."
echo "Supported systemas are:" help_message
for WORD in $SYSTEMS
do
echo -e "\t$WORD"
done
exit 0 exit 0
fi fi
# variables
#check if file exists
if ! test -f "$1"; then
echo "$1 does not exists."
exit 0
fi
#variables
readonly SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" readonly SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
readonly GAME_LIST_DIR="$SCRIPT_DIR/gamelists" readonly GAME_LIST_DIR="$SCRIPT_DIR/gamelists"
SYSTEM_NAME="$1" readonly SYSTEM_NAME="$1"
URL_LIST="$SCRIPT_DIR/${SYSTEM_NAME}.url" readonly SYSTEM_HTML="GAME_LIST_DIR/$SYSTEM_NAME".html
COOKIE_FILE="$SCRIPT_DIR/cookie.txt" readonly URL_LIST="$SCRIPT_DIR/${SYSTEM_NAME}.url"
readonly COOKIE_FILE="$SCRIPT_DIR/cookie.txt"
case $SYSTEM_NAME in
apple2)
readonly URL="https://retroachievements.org/gameList.php?c=38"
;;
arcade)
readonly URL="https://retroachievements.org/gameList.php?c=27"
;;
atari2600)
readonly URL="https://retroachievements.org/gameList.php?c=25"
;;
atari7800)
readonly URL="https://retroachievements.org/gameList.php?c=51"
;;
atarijaguar)
readonly URL="https://retroachievements.org/gameList.php?c=17"
;;
atarilynx)
readonly URL="https://retroachievements.org/gameList.php?c=13"
;;
coleco)
readonly URL="https://retroachievements.org/gameList.php?c=44"
;;
gba)
readonly URL="https://retroachievements.org/gameList.php?c=5"
;;
gbc)
readonly URL="https://retroachievements.org/gameList.php?c=6"
;;
gb)
readonly URL="https://retroachievements.org/gameList.php?c=4"
;;
gamegear)
readonly URL="https://retroachievements.org/gameList.php?c=15"
;;
mastersystem)
readonly URL="https://retroachievements.org/gameList.php?c=11"
;;
megadrive)
readonly URL="https://retroachievements.org/gameList.php?c=1"
;;
msx)
readonly URL="https://retroachievements.org/gameList.php?c=29"
;;
ngpc)
readonly URL="https://retroachievements.org/gameList.php?c=14"
;;
nes)
readonly URL="https://retroachievements.org/gameList.php?c=7"
;;
n64)
readonly URL="https://retroachievements.org/gameList.php?c=2"
;;
nds)
readonly URL="https://retroachievements.org/gameList.php?c=18"
;;
panasonic3do)
readonly URL="https://retroachievements.org/gameList.php?c=43"
;;
pc8000)
readonly URL="https://retroachievements.org/gameList.php?c=47"
;;
pcengine)
readonly URL="https://retroachievements.org/gameList.php?c=8"
;;
pcfx)
readonly URL="https://retroachievements.org/gameList.php?c=49"
;;
psx)
readonly URL="https://retroachievements.org/gameList.php?c=12"
;;
pokemonmini)
readonly URL="https://retroachievements.org/gameList.php?c=24"
;;
sega32x)
readonly URL="https://retroachievements.org/gameList.php?c=10"
;;
segacd)
readonly URL="https://retroachievements.org/gameList.php?c=9"
;;
segasaturn)
readonly URL="https://retroachievements.org/gameList.php?c=39"
;;
sg1000)
readonly URL="https://retroachievements.org/gameList.php?c=33"
;;
snes)
readonly URL="https://retroachievements.org/gameList.php?c=3"
;;
vectrex)
readonly URL="https://retroachievements.org/gameList.php?c=46"
;;
virtualboy)
readonly URL="https://retroachievements.org/gameList.php?c=28"
;;
wonderswan)
readonly URL="https://retroachievements.org/gameList.php?c=53"
;;
esac
wget "$URL" -O "$SYSTEM_HTML"
#process system html to get game url list #process system html to get game url list
echo "Processing $SYSTEM_NAME." echo "Processing $SYSTEM_NAME."
grep -E "Game/[0-9]+" -Eo "$1" | sort -u | sed 's,Game/,https://retroachievements.org/linkedhashes.php?g=,' "$URL_LIST" grep -E "Game/[0-9]+" -Eo "$SYSTEM_HTML" | sort -u | sed 's,Game/,https://retroachievements.org/linkedhashes.php?g=,' "$URL_LIST"
echo "Found $(wc -l < "$URL_LIST") games." echo "Found $(wc -l <"$URL_LIST") games."
#create system folder for webpages with hashes #create system folder for webpages with hashes
if test -d "./${GAME_LIST_DIR}/$SYSTEM_NAME"; then if test -d "./${GAME_LIST_DIR}/$SYSTEM_NAME"; then