193 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			193 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| main_menu() {
 | |
|     clear
 | |
|     echo "Pokemon-Sprite-Downloader"
 | |
|     echo "=============================================="
 | |
|     echo "Diese Datei lädt Sprites von Pokemon.com herunter und sortiert sie nach Generationen."
 | |
|     echo ""
 | |
|     echo "HINWEIS: Dieses Script benötigt curl, um die Bilder herunterzuladen."
 | |
|     echo "Falls curl nicht installiert ist, bitte mit 'sudo apt-get install curl' installieren."
 | |
|     echo ""
 | |
| 
 | |
|     # Erstelle Generationsordner falls diese nicht existieren
 | |
|     mkdir -p gen1
 | |
|     mkdir -p gen2
 | |
|     mkdir -p gen3
 | |
|     mkdir -p gen4
 | |
|     mkdir -p gen5
 | |
|     mkdir -p gen6
 | |
|     mkdir -p gen7
 | |
|     mkdir -p gen8
 | |
|     mkdir -p gen9
 | |
|     echo "Generationsordner wurden erstellt/geprüft."
 | |
|     echo ""
 | |
| 
 | |
|     # Prüfe, ob curl verfügbar ist
 | |
|     if ! command -v curl &> /dev/null; then
 | |
|         echo "FEHLER: curl wurde nicht gefunden!"
 | |
|         echo "Bitte installiere curl mit 'sudo apt-get install curl' oder dem Paketmanager deiner Distribution."
 | |
|         echo ""
 | |
|         read -p "Drücke eine Taste zum Beenden..."
 | |
|         exit 1
 | |
|     fi
 | |
| 
 | |
|     echo "Wähle die Generation zum Herunterladen:"
 | |
|     echo "1 - Generation 1 (001-151)"
 | |
|     echo "2 - Generation 2 (152-251)"
 | |
|     echo "3 - Generation 3 (252-386)"
 | |
|     echo "4 - Generation 4 (387-493)"
 | |
|     echo "5 - Generation 5 (494-649)"
 | |
|     echo "6 - Generation 6 (650-721)"
 | |
|     echo "7 - Generation 7 (722-809)"
 | |
|     echo "8 - Generation 8 (810-905)"
 | |
|     echo "9 - Generation 9 (906-1025)"
 | |
|     echo "10 - Alle Generationen"
 | |
|     echo "11 - Beenden"
 | |
|     echo ""
 | |
| 
 | |
|     read -p "Deine Auswahl (1-11): " gen
 | |
| 
 | |
|     # Beenden, wenn Option 11 gewählt wurde
 | |
|     if [ "$gen" == "11" ]; then
 | |
|         echo "Programm wird beendet..."
 | |
|         exit 0
 | |
|     fi
 | |
| 
 | |
|     # Setze Start- und Endnummern basierend auf der Auswahl
 | |
|     case $gen in
 | |
|         1)
 | |
|             start=1
 | |
|             end=151
 | |
|             targetDir="gen1"
 | |
|             ;;
 | |
|         2)
 | |
|             start=152
 | |
|             end=251
 | |
|             targetDir="gen2"
 | |
|             ;;
 | |
|         3)
 | |
|             start=252
 | |
|             end=386
 | |
|             targetDir="gen3"
 | |
|             ;;
 | |
|         4)
 | |
|             start=387
 | |
|             end=493
 | |
|             targetDir="gen4"
 | |
|             ;;
 | |
|         5)
 | |
|             start=494
 | |
|             end=649
 | |
|             targetDir="gen5"
 | |
|             ;;
 | |
|         6)
 | |
|             start=650
 | |
|             end=721
 | |
|             targetDir="gen6"
 | |
|             ;;
 | |
|         7)
 | |
|             start=722
 | |
|             end=809
 | |
|             targetDir="gen7"
 | |
|             ;;
 | |
|         8)
 | |
|             start=810
 | |
|             end=905
 | |
|             targetDir="gen8"
 | |
|             ;;
 | |
|         9)
 | |
|             start=906
 | |
|             end=1025
 | |
|             targetDir="gen9"
 | |
|             ;;
 | |
|         10)
 | |
|             start=1
 | |
|             end=1025
 | |
|             targetDir="all"
 | |
|             ;;
 | |
|         *)
 | |
|             echo "Ungültige Auswahl."
 | |
|             read -p "Drücke eine Taste zum Fortfahren..."
 | |
|             main_menu
 | |
|             ;;
 | |
|     esac
 | |
| 
 | |
|     echo "Starte Download..."
 | |
|     echo ""
 | |
| 
 | |
|     # Download basierend auf dem gewählten Bereich
 | |
|     if [ "$targetDir" == "all" ]; then
 | |
|         # Alle Generationen
 | |
|         for ((i=1; i<=151; i++)); do
 | |
|             download_pokemon $i "gen1"
 | |
|         done
 | |
|         for ((i=152; i<=251; i++)); do
 | |
|             download_pokemon $i "gen2"
 | |
|         done
 | |
|         for ((i=252; i<=386; i++)); do
 | |
|             download_pokemon $i "gen3"
 | |
|         done
 | |
|         for ((i=387; i<=493; i++)); do
 | |
|             download_pokemon $i "gen4"
 | |
|         done
 | |
|         for ((i=494; i<=649; i++)); do
 | |
|             download_pokemon $i "gen5"
 | |
|         done
 | |
|         for ((i=650; i<=721; i++)); do
 | |
|             download_pokemon $i "gen6"
 | |
|         done
 | |
|         for ((i=722; i<=809; i++)); do
 | |
|             download_pokemon $i "gen7"
 | |
|         done
 | |
|         for ((i=810; i<=905; i++)); do
 | |
|             download_pokemon $i "gen8"
 | |
|         done
 | |
|         for ((i=906; i<=1025; i++)); do
 | |
|             download_pokemon $i "gen9"
 | |
|         done
 | |
|     else
 | |
|         # Einzelne Generation
 | |
|         for ((i=start; i<=end; i++)); do
 | |
|             download_pokemon $i $targetDir
 | |
|         done
 | |
|     fi
 | |
| 
 | |
|     echo ""
 | |
|     echo "Download abgeschlossen."
 | |
|     echo ""
 | |
| 
 | |
|     echo "Was möchtest du als nächstes tun?"
 | |
|     echo "1 - Weitere Pokemon herunterladen"
 | |
|     echo "2 - Programm beenden"
 | |
|     echo ""
 | |
|     read -p "Deine Auswahl (1-2): " next_action
 | |
| 
 | |
|     if [ "$next_action" == "1" ]; then
 | |
|         main_menu
 | |
|     else
 | |
|         echo "Programm wird beendet..."
 | |
|         exit 0
 | |
|     fi
 | |
| }
 | |
| 
 | |
| download_pokemon() {
 | |
|     num=$1
 | |
|     genDir=$2
 | |
| 
 | |
|     # Führende Nullen hinzufügen
 | |
|     if [ $num -lt 10 ]; then
 | |
|         padded=$(printf "%03d" $num)
 | |
|     elif [ $num -lt 100 ]; then
 | |
|         padded=$(printf "%03d" $num)
 | |
|     else
 | |
|         padded=$(printf "%d" $num)
 | |
|     fi
 | |
| 
 | |
|     echo "Lade Pokemon #$padded herunter..."
 | |
|     curl -s -o "$genDir/$padded.png" "https://www.pokemon.com/static-assets/content-assets/cms2/img/pokedex/full/$padded.png"
 | |
|     sleep 1
 | |
| }
 | |
| 
 | |
| # Skript starten
 | |
| main_menu  |