summaryrefslogtreecommitdiff
path: root/get.sh
blob: 4603ff71a33f45ee1b2f62cdec35b9accb1898e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/bash

# I would like to interject for a moment.

# text datei mit pokemons
FILE="POKEMON"

# url zum (poke-)wiki
WIKI="http://pokewiki.de/"

# speicherpfad für heruntergeladenen webseiten
SAVEPATH="./"

### CONF ENDE ###


# teste ob textdatei angegeben wurde
if [ ! -f $FILE ]; then
	echo "'$FILE' not a file." 1>&2
	exit 1
fi

# teste ob wiki url angegeben wurde
if [ -z "$WIKI" ]; then
	echo "No URL given." 1>&2
	exit 1
fi

# bestimme anzahl der schleifen iterationen
LINES=$(wc -l "$FILE" | cut -d ' ' -f 1)

if [ $LINES == 0 ]; then
	echo "$FILE has 0 lines." 1>&2
	exit 1
fi 

for ((i=1;i<=$LINES;i++)); do
	# lese pokemon aus der textdatei aus
	POKEMON=$(cut -f2  -s "$FILE" | sed -n ${i}p) 
	
	# teste, ob datei früher schon einmal heruntergeladen wurde
	if [ -f "$POKEMON.txt" ]; then
		read -p "$(tput setaf 1)Warnung! $(tput bold)$POKEMON.txt$(tput sgr0) $(tput setaf 1)existiert schon. Sollen die Informationen überschrieben werden?$(tput sgr0) [Y/n] " answer
		if [ "x$answer" == "xn" ]; then
			continue
		fi
	fi

	echo "Lade Informationen zu $(tput setaf 3)'$POKEMON'$(tput sgr0) runter."
	# speichere datei in textdatei
	elinks -dump "${WIKI}${POKEMON}" > ${SAVEPATH}${POKEMON}.txt

	# extrahiere 'Statuswerte'
	grep -A 9 -i 'Maxwerte' "${SAVEPATH}${POKEMON}.txt" | sed 's/\[[0-9]*\]/      /g' >> ${SAVEPATH}${POKEMON}.statuswert.txt

	# extrahiere 'Fähigkeiten'
	# in welcher Zeile kommt 'Typen' vor
	FIRSTLINE=$(grep -m 1 -E -n 'Typ' "${SAVEPATH}${POKEMON}.txt" | cut -d ':' -f1)
	# in welcher Zeile kommt 'Fangen, Zucht, Training' vor
	SECONDLINE=$(grep -m 1 -E -n 'Fangen, Zucht, Training' "${SAVEPATH}${POKEMON}.txt" | cut -d ':' -f1)
	SECONDLINE=$((SECONDLINE=SECONDLINE-1))
	
	# schneidet passenden bereich aus, ersetzt nummerierung und bild dateien
	sed -n -e "$FIRSTLINE,${SECONDLINE}p" "${SAVEPATH}${POKEMON}.txt" | sed 's/\[[0-9]*\]//g' | sed 's/IC\.png[A-Za-z]*//g' >> "${SAVEPATH}${POKEMON}.faehigkeiten.txt"

	# extrahiere ei-gruppen
	grep -Ei '\]Ei-Gruppen' "${SAVEPATH}${POKEMON}.txt" | sed 's/\[[0-9]*\]//g' >>  "${SAVEPATH}${POKEMON}.ei.txt"

	# wechsle zu lynx für attacken
	lynx -dump -nolist "${WIKI}${POKEMON}" > "${SAVEPATH}${POKEMON}.txt"

	# extrahiere attacken
#	sed -n -e '/Folgende Attacken/,/durch TMs oder VMs/ p' "${SAVEPATH}${POKEMON}.txt" >> "${SAVEPATH}${POKEMON}.attacken.tmp.txt"
	#sed -n -e '/6\. Generation/,/Fett hervorgehobene/ p' "${SAVEPATH}${POKEMON}.attacken.txt" >> "${SAVEPATH}${POKEMON}.attacken.txt"

	FIRSTLINE=$(grep -m 1 -E -n 'Folgende Attacken' "${SAVEPATH}${POKEMON}.txt" | cut -d ':' -f1)
	SECONDLINE=$(grep -m 1 -E -n 'durch TMs oder VMs erlernen' "${SAVEPATH}${POKEMON}.txt" | cut -d ':' -f1)

	sed -n -e "$FIRSTLINE,${SECONDLINE}p" "${SAVEPATH}${POKEMON}.txt" | sed -n -e '/6\. Generation/,/Fett hervorgehobene/ p' | grep -v "✽" | sed 's/IC\.png [A-Za-z]*//g' | sed 's/ /\t/g' >> "${SAVEPATH}${POKEMON}.attacken.txt"


>> "${SAVEPATH}${POKEMON}.attacken.txt"

	

done