You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
421 lines
11 KiB
421 lines
11 KiB
#! /bin/sh
|
|
#*******************************************************************************
|
|
#* Liga-Ergebnisse und Tabellen in Messagebox anzeigen *
|
|
#* (c)Bazi98 & theobald123 *
|
|
#* Lizenz: GPL 2 *
|
|
#* Version: 3.2 CST Neutrino HD *
|
|
#* Stand: 20.09.2014 *
|
|
#* Speicherort: /var/plugins chmod 755 *
|
|
#* ben~otigt ggf. shellexc und msgbox unter /bin/ chmod jeweils 755 *
|
|
#* f~ur Aufruf via Flex-Men~u in der shellexc.conf die folgende Zeile *
|
|
#* ohne vorgestellte Raute einf~ugen: *
|
|
#* ACTION=&Fu~zball Ergebnisse und Tabellen,var/plugins/liga_nat,Bitte warten. *
|
|
#*******************************************************************************
|
|
|
|
teampfad="/var/liga_nat" #Verzeichnis für die Vereinsnamen
|
|
url="http://ilt21.ticker.comon.ergebnis-dienst.de/" #Datenquelle
|
|
tabellenselect="~GSpiele~S,BL 1,BL 2,3. Liga,RL N,,~GFAV~S,RL NO,RL W,RL SW, RL Bay" #Select-Angabe für Tabellenanzeige
|
|
|
|
#**********************
|
|
#* Spieltag ermitteln *
|
|
#**********************
|
|
get_matchday ()
|
|
{
|
|
wget -q -O - "$url/$1" | \
|
|
sed -n -e /\"competition_id\":/p -e /\"season_id\":/p -e /\"matchday\":/p | \
|
|
sed -e 's/^.*://g' -e 's/,.*$//g' -e 's/\"//g' > /tmp/test.txt
|
|
co=`sed -n 1p /tmp/test.txt`;co=`echo $co`;co=`echo "co"$co`
|
|
se=`sed -n 2p /tmp/test.txt`;se=`echo $se`;se=`echo "se"$se`
|
|
md=`sed -n 3p /tmp/test.txt`;md=`echo $md`
|
|
if [ "$typ" == "ergebnisse" ]; then
|
|
if [ "$gd" == "prev" ]; then
|
|
md=`expr "$md" - 1`
|
|
fi
|
|
fi
|
|
}
|
|
|
|
#***********************************************
|
|
#* Auftrennen der Ergebniszeile in Einzelwerte *
|
|
#***********************************************
|
|
ergebniszeile ()
|
|
{
|
|
pn=$#
|
|
anstosstag=`echo $1 | sed -e 's/-//g'`; anstosstag=`echo $anstosstag`
|
|
anstosszeit=`echo $2 | sed -e 's/://g'`; anstosszeit=`echo $anstosszeit`
|
|
if [ "$anstosstag" -lt "$jetzttag" ]; then
|
|
spiel_gestartet="yes"
|
|
elif [ "$anstosstag" -eq "$jetzttag" -a "$anstosszeit" -lt "$jetztzeit" ]; then
|
|
spiel_gestartet="yes"
|
|
else
|
|
spiel_gestartet="no"
|
|
fi
|
|
spiel_beendet=$3
|
|
team_home=`cat $teampfad/$co/$se/$4.txt`; team_home=`echo $team_home`
|
|
result_home=$5
|
|
team_away=`cat $teampfad/$co/$se/$6.txt`; team_away=`echo $team_away`
|
|
result_away=$7
|
|
}
|
|
|
|
#***********************************************
|
|
#* Auftrennen der Tabellenzeile in Einzelwerte *
|
|
#***********************************************
|
|
tabellenzeile ()
|
|
{
|
|
pn=$#
|
|
team_name=`cat $teampfad/$co/$se/$1.txt`; team_name=`echo $team_name`
|
|
spiele=$2
|
|
punkte=$3
|
|
tore=$4
|
|
g=$5
|
|
u=$6
|
|
n=$7
|
|
diff=$8
|
|
}
|
|
|
|
#*************************************
|
|
#* Einmaliges Laden der Vereinsnamen *
|
|
#*************************************
|
|
vereinsnamen ()
|
|
{
|
|
msgbox size=22 timeout=10 popup="Vereinsnamen werden geladen"
|
|
rm -rf $teampfad/$co
|
|
mkdir -p $teampfad/$co/$se
|
|
wget -q -O - "$url/json_team/$co/$se" | \
|
|
sed -e 's/},/},\n/g' | \
|
|
sed -n '/\"short\"/p' | \
|
|
sed -e 's/\",\"short.*$//g' | \
|
|
sed -e 's/\":{\"name\":\"/|/g' | \
|
|
sed -e 's/^.*\"//g' -e 's/}//g' \
|
|
-e 's/ä/ä/g' -e 's/ä/ä/g' -e 's/ä/ä/g' \
|
|
-e 's/ö/ö/g' -e 's/ö/ö/g' -e 's/ö/ö/g' \
|
|
-e 's/ü/ü/g' -e 's/ü/ü/g' -e 's/ü/ü/g' \
|
|
-e 's/Ä/Ä/g' -e 's/Ä/Ä/g' -e 's/Ä/Ä/g' \
|
|
-e 's/Ö/Ö/g' -e 's/Ö/Ö/g' -e 's/Ö/Ö/g' \
|
|
-e 's/Ãœ/Ü/g' -e 's/Ü/Ü/g' -e 's/Ü/Ü/g' \
|
|
-e 's/ß/ß/g' -e 's/ß/ß/g' -e 's/ß/ß/g' \
|
|
> /tmp/test.txt
|
|
teams=`sed -n '$=' /tmp/test.txt`
|
|
|
|
count=1
|
|
while [ $count -le $teams ]; do
|
|
team_nummer=`sed -n "$count"p /tmp/test.txt | sed -e 's/|.*$//g`; team_nummer=`echo $team_nummer`
|
|
team_name=`sed -n "$count"p /tmp/test.txt | sed -e 's/^.*|//g`; team_name=`echo $team_name`
|
|
echo $team_name > $teampfad/$co/$se/$team_nummer.txt
|
|
count=`expr "$count" + 1`
|
|
done
|
|
}
|
|
|
|
# ******************************************
|
|
# * Funktion zum Erstellen der Ergebnisse *
|
|
# * ~Ubergabeparameter 1: Internet-Adresse *
|
|
# ******************************************
|
|
liga ()
|
|
{
|
|
get_matchday $2
|
|
|
|
if [ ! -d /$teampfad/$co/$se ]; then
|
|
vereinsnamen
|
|
fi
|
|
|
|
Head="$md. Spieltag der $1"
|
|
spieldaten $2
|
|
paarungsaufbau
|
|
}
|
|
|
|
#************************************
|
|
#* Daten zu den Spielen extrahieren *
|
|
#************************************
|
|
spieldaten ()
|
|
{
|
|
jetzt=`date -Iseconds`
|
|
jetzttag=`echo $jetzt | sed -e 's/-//g' -e 's/T.*$//g'`
|
|
jetztzeit=`echo $jetzt | sed -e 's/^.*T//g' -e 's/://g' -e 's/+.*$//g'`
|
|
wget -q -O - "$url/json_live/$co/$se/md$md" | \
|
|
sed -n -e /\"event\"/p | \
|
|
sed -e 's/},/},\n/g' | \
|
|
sed -e 's/^.*\"date\":\"//g' \
|
|
-e 's/\",\"match_time_known.*finished\":\"/ /g' \
|
|
-e 's/\",\"incident.*home\":\"/ /g' \
|
|
-e 's/\",\"home_score\":\[/ /g' \
|
|
-e 's/\],\"home_color.*away\":\"/ /g' \
|
|
-e 's/\",\"away_score\":\[/ /g' \
|
|
-e 's/\],\"away_color.*$//g' > /tmp/test.txt
|
|
paarungen=`sed -n '$=' /tmp/test.txt`
|
|
}
|
|
|
|
#*****************************
|
|
#* Aufbau der Spielpaarungen *
|
|
#*****************************
|
|
paarungsaufbau ()
|
|
{
|
|
rm /tmp/test2.txt
|
|
count=1
|
|
while [ $count -le $paarungen ]; do
|
|
paarung=`sed -n "$count"p /tmp/test.txt`
|
|
ergebniszeile $paarung
|
|
ergebnisaufbau
|
|
a3=$ergebnis
|
|
echo "~T0230$team_home~T0525-~T0545$team_away~T0850$a3" >> /tmp/test2.txt
|
|
echo $ergebnis >> /tmp/tore_neu.txt
|
|
count=`expr "$count" + 1`
|
|
done
|
|
echo ~T0230~BQuelle: www.heimspiel.de~S >> /tmp/test2.txt
|
|
|
|
typ="ergebnisse"
|
|
last_auswahl=$auswahl
|
|
msgbox title="$Head" order=6 absolute=1 default=$auswahl select="$ergebnisselect" size=22 timeout=-1 msg=/tmp/test2.txt refresh=1
|
|
auswahl=$?
|
|
auswahloption
|
|
}
|
|
|
|
#***************************
|
|
#* Ergebnis zusammensetzen *
|
|
#***************************
|
|
ergebnisaufbau ()
|
|
{
|
|
echo "$result_home" | sed -e 's/,/\n/g' > /tmp/tore.txt
|
|
h=`sed -n '$=' /tmp/tore.txt`; h=`echo $h`
|
|
if [ $h -eq 2 ]; then
|
|
hg=`sed -n "1"p /tmp/tore.txt`;hg=`echo $hg`
|
|
h1=`sed -n "2"p /tmp/tore.txt`;h1=`echo $h1`
|
|
else
|
|
hg=`echo "-"`
|
|
h1=`sed -n "1"p /tmp/tore.txt`;h1=`echo $h1`
|
|
fi
|
|
|
|
echo "$result_away" | sed -e 's/,/\n/g' > /tmp/tore.txt
|
|
a=`sed -n '$=' /tmp/tore.txt`; a=`echo $a`
|
|
if [ $a -eq 2 ]; then
|
|
ag=`sed -n "1"p /tmp/tore.txt`;ag=`echo $ag`
|
|
a1=`sed -n "2"p /tmp/tore.txt`;a1=`echo $a1`
|
|
else
|
|
ag=`echo "-"`
|
|
a1=`sed -n "1"p /tmp/tore.txt`;a1=`echo $a1`
|
|
fi
|
|
ergebnis=`echo $hg:$ag "("$h1:$a1")"`
|
|
|
|
if [ "$spiel_beendet" == "yes" ]; then
|
|
:
|
|
elif [ "$spiel_gestartet" == "no" ]; then
|
|
ergebnis=`echo "-:- (-:-)"`
|
|
else
|
|
ergebnis=`echo ~R$ergebnis~S`
|
|
fi
|
|
}
|
|
|
|
# **************************************
|
|
# * Funktion zum Erstellen der Tabelle *
|
|
# **************************************
|
|
tabelle ()
|
|
{
|
|
get_matchday $2
|
|
|
|
if [ ! -d /$teampfad/$co/$se ]; then
|
|
vereinsnamen
|
|
fi
|
|
|
|
Head="Tabelle der $1"
|
|
tabellendaten $2
|
|
echo ~T0250Pl~T0300Verein~T0625Sp~T0680Tore~T0755S~T0795U~T0835N~T0885Diff~T0965Pkt > /tmp/test4.txt
|
|
count=1
|
|
while [ $count -le $teams ]; do
|
|
platz=$count; platz=`echo $platz`
|
|
if [ $count -lt 10 ];
|
|
then
|
|
platz=~T0260$platz
|
|
else
|
|
platz=~T0250$platz
|
|
fi
|
|
zeile=`sed -n "$count"p /tmp/test.txt`;
|
|
tabellenzeile $zeile
|
|
echo $platz~T0300$team_name~T0625$spiele~T0680$tore~T0755$g~T0795$u~T0835$n~T0885$diff~T0965$punkte >> /tmp/test4.txt
|
|
count=`expr "$count" + 1`
|
|
done
|
|
echo ~T0250~BQuelle: www.heimspiel.de~S >> /tmp/test4.txt
|
|
|
|
typ="tabelle"
|
|
last_auswahl=$auswahl
|
|
msgbox title="$Head" order=5 absolute=1 default=$auswahl select="$tabellenselect" size=24 timeout=-1 msg=/tmp/test4.txt refresh=1
|
|
auswahl=$?
|
|
auswahloption
|
|
}
|
|
|
|
#*********************************
|
|
#* Daten zur Tabelle extrahieren *
|
|
#*********************************
|
|
tabellendaten ()
|
|
{
|
|
wget -q -O - "$url/json_live/$co/$se/$md" | \
|
|
sed -n -e /\"ranking\"/p | \
|
|
sed -e 's/},/},\n/g' | \
|
|
sed -e 's/^.*\id\":\"//g' \
|
|
-e 's/\",\"ga.*ed\":\"/ /g' \
|
|
-e 's/\",\"points\":\"/ /g' \
|
|
-e 's/\",\"score\":\"/ /g' \
|
|
-e 's/\",\"score_against\":\"/:/g' \
|
|
-e 's/\",\"win\":\"/ /g' \
|
|
-e 's/\",\"draw\":\"/ /g' \
|
|
-e 's/\",\"lost\":\"/ /g' \
|
|
-e 's/\",\"difference\":\"/ /g' \
|
|
-e 's/\",\"rank.*$//g' > /tmp/test.txt
|
|
teams=`sed -n '$=' /tmp/test.txt`
|
|
}
|
|
|
|
# ***********************************************************************
|
|
# *Liga ausw~ahlen und Daten aus Internet in eine lokale Datei einlesen *
|
|
# ***********************************************************************
|
|
auswahloption ()
|
|
{
|
|
case $auswahl in
|
|
1)
|
|
switch
|
|
;;
|
|
2)
|
|
if [ "$competition" == "co12" ]; then
|
|
switch
|
|
else
|
|
titel="1. Bundesliga"
|
|
competition="co12"
|
|
gd="next"
|
|
prevnext="prev"
|
|
|
|
fi
|
|
;;
|
|
3)
|
|
if [ "$competition" == "co3" ]; then
|
|
switch
|
|
else
|
|
titel="2. Bundesliga"
|
|
competition="co3"
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
4)
|
|
if [ "$competition" == "co4" ]; then
|
|
switch
|
|
else
|
|
titel="3. Liga"
|
|
competition="co4"
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
5)
|
|
if [ "$competition" == "co107" ]; then
|
|
switch
|
|
else
|
|
titel="Regionalliga Nord"
|
|
competition="co107"
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
6)
|
|
if [ "$gd" == "next" ]; then
|
|
gd="prev"
|
|
prevnext="next"
|
|
|
|
else
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
7)
|
|
echo $titel > $teampfad/liga_nat.cfg
|
|
echo $competition >> $teampfad/liga_nat.cfg
|
|
echo $typ >> $teampfad/liga_nat.cfg
|
|
echo $last_auswahl >> $teampfad/liga_nat.cfg
|
|
msgbox size=22 timeout=10 popup="Seite wurde als Startseite festgelegt"
|
|
;;
|
|
8)
|
|
if [ "$competition" == "co2255" ]; then
|
|
switch
|
|
else
|
|
titel="Regionalliga Nordost"
|
|
competition="co2255"
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
9)
|
|
if [ "$competition" == "co564" ]; then
|
|
switch
|
|
else
|
|
titel="Regionalliga West"
|
|
competition="co564"
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
10)
|
|
if [ "$competition" == "co2256" ]; then
|
|
switch
|
|
else
|
|
titel="Regionalliga S~udwest"
|
|
competition="co2256"
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
11)
|
|
if [ "$competition" == "co2257" ]; then
|
|
switch
|
|
else
|
|
titel="Regionalliga Bayern"
|
|
competition="co2257"
|
|
gd="next"
|
|
prevnext="prev"
|
|
fi
|
|
;;
|
|
12)
|
|
:
|
|
;;
|
|
*)
|
|
rm /tmp/test*.txt
|
|
rm /tmp/tore*.txt
|
|
exit
|
|
;;
|
|
esac
|
|
|
|
ergebnisselect="~GTabelle~S,BL 1,BL 2,3. Liga,RL N,~R$prevnext~S,~GFAV~S,RL NO,RL W,RL SW, RL Bay,~Rrefresh~S" #Select-Angabe für Tabellenanzeige
|
|
if [ "$typ" == "tabelle" ]; then
|
|
tabelle "$titel" "$competition"
|
|
else
|
|
liga "$titel" "$competition"
|
|
fi
|
|
}
|
|
|
|
#***********************************************
|
|
#* Umschalten zwischen Tabelle und Ergebnissen *
|
|
#***********************************************
|
|
switch ()
|
|
{
|
|
if [ "$typ" == "tabelle" ]; then
|
|
typ="ergebnisse"
|
|
else
|
|
typ="tabelle"
|
|
fi
|
|
}
|
|
|
|
gd="next"
|
|
prevnext="prev"
|
|
ergebnisselect="~GTabelle~S,BL 1,BL 2,3. Liga,RL N,~R$prevnext~S,~GFAV~S,RL NO,RL W,RL SW, RL Bay,~Rrefresh~S" #Select-Angabe für Tabellenanzeige
|
|
typ="ergebnisse"
|
|
if [ -e $teampfad/liga_nat.cfg ]; then
|
|
titel=`sed -n 1p $teampfad/liga_nat.cfg`; titel=`echo $titel`
|
|
competition=`sed -n 2p $teampfad/liga_nat.cfg`; competition=`echo $competition`
|
|
typ=`sed -n 3p $teampfad/liga_nat.cfg`; typ=`echo $typ`
|
|
auswahl=`sed -n 4p $teampfad/liga_nat.cfg`; auswahl=`echo $auswahl`
|
|
if [ "$typ" == "tabelle" ]; then
|
|
tabelle "$titel" "$competition"
|
|
else
|
|
liga "$titel" "$competition"
|
|
fi
|
|
else
|
|
auswahl=2
|
|
titel="1.Bundesliga"
|
|
competition="co12"
|
|
liga "$titel" "$competition"
|
|
fi
|
|
exit
|