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

#! /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