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.
		
		
		
		
		
			
		
			
				
					
					
						
							179 lines
						
					
					
						
							6.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							179 lines
						
					
					
						
							6.3 KiB
						
					
					
				
								#!/bin/sh
							 | 
						|
								# Tanken Plugin
							 | 
						|
								# by theobald123 for coolstream
							 | 
						|
								# VERSION=1.6
							 | 
						|
								
							 | 
						|
								# *************************************************************************************
							 | 
						|
								# *      Datenzeile in einzelne Parameter aufteilen                                   *
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								# *      Übergabeparameter : Datenzeile                                               *
							 | 
						|
								# *************************************************************************************
							 | 
						|
								Parameter ()
							 | 
						|
								{ pn=$#;p1=$1;p2=$2;p3=$3;p4=$4;p5=$5;p6=$6;p7=$7;p8=$8;p9=$9;p10=$10; }
							 | 
						|
								
							 | 
						|
								# *************************************************************************************
							 | 
						|
								# *      exit-Steuerung                                                               *
							 | 
						|
								# *************************************************************************************
							 | 
						|
								Beenden ()
							 | 
						|
								{
							 | 
						|
								if [ $? = 0 ]; then
							 | 
						|
									break
							 | 
						|
								fi
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								# *************************************************************************************
							 | 
						|
								# *      Einlesen der Postleitzahl                                                    *
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								# *      Übergabeparameter : Postleitzahlendatei                                      *
							 | 
						|
								# *************************************************************************************
							 | 
						|
								getplz ()
							 | 
						|
								{
							 | 
						|
								conf=$1
							 | 
						|
								if [ -s $conf ] ; then
							 | 
						|
									Eingabe1=`cat "$conf"`
							 | 
						|
								else
							 | 
						|
									Eingabe1="0"
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								# Eingabemaske
							 | 
						|
								Eingabe=`input l="PLZ:     #####max. Entf.: ##" o=45 c=14 d="$Eingabe1"`
							 | 
						|
								if [ "$Eingabe" = "" ] ; then
							 | 
						|
									exit
							 | 
						|
								else
							 | 
						|
									echo "$Eingabe" > $conf
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								PLZ=`cut -b  1-5 $conf`; PLZ=`echo $PLZ`
							 | 
						|
								if [ ${#PLZ} -lt 5 ] ; then
							 | 
						|
									msgbox size=22 timeout=5 popup="PLZ ungueltig"
							 | 
						|
								#	wget -q -O - http://127.0.0.1/control/message?popup="PLZ ungueltig"
							 | 
						|
									rm $conf
							 | 
						|
									continue
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								ENTF=`cut -b 6-7 $conf`; ENTF=`echo $ENTF`
							 | 
						|
								if [ "$ENTF" = "" ] ; then
							 | 
						|
									ENTF=5
							 | 
						|
								elif [ $ENTF -lt 1 ] ; then
							 | 
						|
									ENTF=5
							 | 
						|
								fi
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								while :; do
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								# *      Kraftstoffauswahl und Tanken anfordern                                       *
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
									getplz /var/tuxbox/config/Tanken.plz
							 | 
						|
									auswahl=1
							 | 
						|
									while :; do
							 | 
						|
										msgbox title="Kraftstoffauswahl" size=28 order=1 msg="~cBitte ausw~ahlen!" select="Diesel,Super E10,Super (E5),SuperPlus,Autogas (LPG),Erdgas (CNG),Biodiesel,LKW-Diesel" default=$auswahl
							 | 
						|
										auswahl=$?
							 | 
						|
										case $auswahl	in
							 | 
						|
										1)
							 | 
						|
											Typ=3; SPRIT="Diesel"
							 | 
						|
											;;
							 | 
						|
										2)
							 | 
						|
											Typ=5; SPRIT="Super E10"
							 | 
						|
											;;
							 | 
						|
										3)
							 | 
						|
											Typ=7; SPRIT="Super (E5)"
							 | 
						|
											;;
							 | 
						|
										4)
							 | 
						|
											Typ=6; SPRIT="SuperPlus"
							 | 
						|
											;;
							 | 
						|
										5)
							 | 
						|
											Typ=1; SPRIT="Autogas (LPG)"
							 | 
						|
											;;
							 | 
						|
										6)
							 | 
						|
											Typ=8; SPRIT="Erdgas (CNG)"
							 | 
						|
											;;
							 | 
						|
										7)
							 | 
						|
											Typ=9; SPRIT="Biodiesel"
							 | 
						|
											;;
							 | 
						|
										8)
							 | 
						|
											Typ=2; SPRIT="LKW-Diesel"
							 | 
						|
											;;
							 | 
						|
										*)
							 | 
						|
											break
							 | 
						|
											;;
							 | 
						|
										esac
							 | 
						|
								
							 | 
						|
										wget -O /tmp/tanken.txt -U Mozilla "http://www.clever-tanken.de/tankstelle_liste?spritsorte=$Typ&ort=$PLZ&r=$ENTF&sort=p"
							 | 
						|
								
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								# *      #HTML-Tags entfernen; Sonderzeichen ersetzen; Leerzeilen entfernen           *
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
										sed -n -e "/main-content-fuel-station-list/,/Impressum/ p" /tmp/tanken.txt \
							 | 
						|
											-n -e "/Abfrage leider keine Tankstelle finden/ p"  | \
							 | 
						|
										sed -n -e "/<a/,/<\/a>/ p" \
							 | 
						|
											-n -e "/Abfrage leider keine Tankstelle finden/ p"  | \
							 | 
						|
										sed -n -e "/location-name/ p" \
							 | 
						|
										    -n -e "/location-street/ p" \
							 | 
						|
										    -n -e "/location-city/ p" \
							 | 
						|
											-n -e "/class=\"price\"/ p" \
							 | 
						|
											-n -e "/ffnet/ p" \
							 | 
						|
											-n -e "/Abfrage leider keine Tankstelle finden/ p" | \
							 | 
						|
										sed -e 's/<[^>]*>//g' \
							 | 
						|
											-e '/^[^0-9a-zA-Z!+-\/]*$/d' | \
							 | 
						|
										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' \
							 | 
						|
											> /tmp/tanken1.txt
							 | 
						|
								
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								# *      Daten auswählen und Liste aufbauen                                           *
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
										Head="Tankstellen im Postleitzahlenbereich $PLZ Kraftstoffart: $SPRIT"
							 | 
						|
								
							 | 
						|
										nostations=`sed -n -e "/Abfrage leider keine Tankstelle finden/ ="		/tmp/tanken1.txt`
							 | 
						|
										if [ "$nostations" != "" ] ; then
							 | 
						|
											msgbox title="$Head" size=26 timeout=180 msg="Keine Tankstellen gefunden"
							 | 
						|
											continue
							 | 
						|
										fi
							 | 
						|
								
							 | 
						|
										zeilen=`sed -n -e "$ ="							/tmp/tanken1.txt`
							 | 
						|
										tab1=1; tab2=2; tab3=3; tab4=4; step=4
							 | 
						|
								
							 | 
						|
										while [ "$tab4" -le "$zeilen" ]; do
							 | 
						|
											count=1
							 | 
						|
											echo ~T0250Tankstelle~T0800Preis > /tmp/tanken2.txt
							 | 
						|
											while [ $count -le 5 -a "$tab4" -le "$zeilen" ]; do
							 | 
						|
												a1=`sed -n -e "$tab1"p /tmp/tanken1.txt`; a1=`echo $a1`		# Preis
							 | 
						|
												a2=`sed -n -e "$tab2"p /tmp/tanken1.txt`; a2=`echo $a2`		# Marke
							 | 
						|
												a3=`sed -n -e "$tab3"p /tmp/tanken1.txt`; a3=`echo $a3`		# Adresse
							 | 
						|
												a4=`sed -n -e "$tab4"p /tmp/tanken1.txt`; a4=`echo $a4`		# Ort
							 | 
						|
												if [ "$a1" != "" ] ; then
							 | 
						|
													echo ~T0250~B$a2~T0800~R$a1 >> /tmp/tanken2.txt
							 | 
						|
													echo ~T0250$a3              >> /tmp/tanken2.txt
							 | 
						|
													echo ~T0250$a4              >> /tmp/tanken2.txt
							 | 
						|
													count=`expr "$count" + 1`
							 | 
						|
												fi
							 | 
						|
												tab1=`expr "$tab1" + $step`
							 | 
						|
												tab2=`expr "$tab2" + $step`
							 | 
						|
												tab3=`expr "$tab3" + $step`
							 | 
						|
												tab4=`expr "$tab4" + $step`
							 | 
						|
											done
							 | 
						|
								
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								# *      Daten ausgeben (Framebuffer)                                                 *
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								
							 | 
						|
											echo ~T0250~Galle Angaben ohne Gewähr >> /tmp/tanken2.txt
							 | 
						|
											if [ $tab4 -le $zeilen ] ; then
							 | 
						|
												msgbox title="$Head" size=26 timeout=180 msg=/tmp/tanken2.txt
							 | 
						|
											else
							 | 
						|
												msgbox title="$Head" size=26 timeout=180 popup=/tmp/tanken2.txt
							 | 
						|
											fi
							 | 
						|
											Beenden
							 | 
						|
										done
							 | 
						|
									done
							 | 
						|
								done
							 | 
						|
								
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								# *      TMP-Dateien loeschen                                                         *
							 | 
						|
								# *-----------------------------------------------------------------------------------*
							 | 
						|
								rm /tmp/tanken*.txt
							 | 
						|
								
							 |