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