serverlist-validate-game-icons.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. cd "lgsm/data" || exit
  3. echo ""
  4. echo "Checking that all the game servers listed in serverlist.csv have a shortname-icon.png file"
  5. for shortname in $(tail -n +2 serverlist.csv | cut -d ',' -f1); do
  6. # check if $shortname-icon.png exists
  7. if [ ! -f "gameicons/${shortname}-icon.png" ]; then
  8. echo "ERROR: gameicons/${shortname}-icon.png does not exist"
  9. exitcode=1
  10. else
  11. echo "OK: gameicons/${shortname}-icon.png exists"
  12. fi
  13. done
  14. echo ""
  15. echo "Checking if an unexpected gameicon exists"
  16. for gameicon in $(ls -1 gameicons); do
  17. # check if $gameicon is in serverlist.csv
  18. if ! grep -q "${gameicon%-icon.png}" serverlist.csv; then
  19. echo "ERROR: gameicon ${gameicon} is not in serverlist.csv"
  20. exitcode=1
  21. else
  22. echo "OK: gameicon ${gameicon} is in serverlist.csv"
  23. fi
  24. done
  25. echo ""
  26. echo "Checking that the number of gameicons matches the number of servers in serverlist.csv"
  27. gameiconcount="$(ls -1 gameicons | wc -l)"
  28. serverlistcount="$(tail -n +2 serverlist.csv | wc -l)"
  29. if [ "${gameiconcount}" -ne "${serverlistcount}" ]; then
  30. echo "ERROR: game icons (${gameiconcount}) does not match serverlist.csv ($serverlistcount)"
  31. exitcode=1
  32. else
  33. echo "OK: gameiconcount ($gameiconcount) matches serverlistcount ($serverlistcount)"
  34. fi
  35. exit ${exitcode}