Admin SnowHead Geschrieben 6. Mai 2011 Admin Melden Share Geschrieben 6. Mai 2011 Da ich es satt hatte, einen Haufen Geld für teure Servicehotlines bezahlen zu müssen für Sachen, die eigentlich nichts kosten dürften, habe ich mal fix die erste grobe Version eines Scripts zusammengeschustert, welches mir (wenn bekannt) kostenfreie oder wenig- stens normale Telefonnummern (welche bei den heutigen Telefonflats ja auch nix mehr kosten) als Alternative für die 0180er Hotlines raussucht. Man kann sicher noch mehr Komfort einbauen. Ihr seid also aufgerufen, Euch Verbesse- rungen auszudenken und die hier zu veröffentlichen. Vor allem was die Auswertung vom Standard abweichender Formatierungen angeht, muß noch eine Menge getan werden. Die Installation ist simpel. Das Script kommt ausgepackt mit den Rechten 755 nach /var/plugins. In /var/tuxbox/config/flexinc/plugin_run.mnu fügt Ihr folgende Zeile ein: ACTION=&0180-Services,/var/plugins/0180 Fertig. Viel Spaß! Edit: Bis das Anhängen von Files hier im Board wieder erlaubt ist, muß ich den Code erst mal hier in den Thread packen. Also diesen Code als File mit dem Namen "0180" und den Rechten 755 nach /var/plugins/: #!/bin/sh TFIL=/tmp/0180.tmp MFIL=/tmp/0180.msg TITLE="0180-Nummernsuche" NUMBER=`input t="Bitte Servicenummer eingeben" l="0180 ##########"` [ -z $NUMBER ] && exit 1 NUMBER=0180`echo $NUMBER | sed -e s/' *'//g` wget -q -O $TFIL http://www.0180.info/suche.html?s=$NUMBER if grep auml.ndern $TFIL > /dev/null then sed -i -e '/HEAD/,/Eintrag/'d $TFIL sed -i -e '/#FF0000/, d $TFIL sed -i -e s/'<[^>]*>'//g -e /^$/d -e /\*/d -e /'auml;ndern'/d $TFIL if [ -s $TFIL ] then echo ~BService~T0250Name~T0450teure Nummer~T0650Ersatznummer > $MFIL echo >> $MFIL while read line1 do read line2 read line3 if echo $line2 | grep 0180 > /dev/null then echo `expr substr "$line1" 1 40`~T0450$line2~Y~T0650~G$line3 >> $MFIL else read line4 echo `expr substr "$line1" 1 19`~T0250`expr substr "$line2" 1 19`~T0450~Y$line3~T0650~G$line4 >> $MFIL fi done < $TFIL msgbox title=$TITLE msg=$MFIL else msgbox title=$TITLE msg="Kein Eintrag f~ur $NUMBER" fi else msgbox title=$TITLE msg="Kein Eintrag f~ur $NUMBER" fi rm -f $TFIL rm -f $MFIL 3 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
derdernixweiß Geschrieben 7. Mai 2011 Melden Share Geschrieben 7. Mai 2011 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 8. Mai 2011 Autor Admin Melden Share Geschrieben 8. Mai 2011 So, ich habe das Script noch mal angepasst, jetzt ist es etwas toleranter gegenüber verschiedenen Suchergebnissen. Optimal ist es allerdings immer noch nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Bazi98 Geschrieben 9. Mai 2011 Melden Share Geschrieben 9. Mai 2011 (bearbeitet) SnowHead, hab eine kleine Anregung Bei meinen Test habe ich festgestellt das bei einigen Services "Riesentexte" für den Service-Text und bei "Name" eingetragen ist, dies haut natürlich die Formatierung kaputt. Ich rege deshalb an, das bei diesen 2 Feldern der verfügbare Text nach X-Zeichen (mein Vorschlag 20 Zeichen ) abgebrochen wird und bei abgebrochen Texten drei kleine Punkte (...) an dessen Stelle nach den zb. 20 Zeichen angehangen wird. Dies hätte die positive Wirkung das die Formatierung nicht geändert werden muss weil sie jedesmal stimmt. Aufgefallen zb. bei 01805/880 777 36 oder auch bei 01805/01 50 50 bearbeitet 9. Mai 2011 von Bazi98 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 9. Mai 2011 Melden Share Geschrieben 9. Mai 2011 Ich werde mich mal daran versuchen. Mal schauen, wieviel Komfort möglich ist. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 10. Mai 2011 Autor Admin Melden Share Geschrieben 10. Mai 2011 @Bazi98 Im ersten Thread findest Du eine Version mit Längenbegrenzung. Danke für den Tipp. @theobald123 Gute Idee! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 12. Mai 2011 Melden Share Geschrieben 12. Mai 2011 (bearbeitet) Es ist vollbracht. Meine Version der 0180-Nummernauskunft: #! /bin/sh # 0180-Nummernsuche # by theobald123 (Idee: SnowHead) # Version: 1.0 Coolstream ################################################################################ # Zählen der Parameter # ################################################################################ anzahl () { anz=$#; } ################################################################################ # Eingabe der zu suchenden Telefonnummer oder Firma # ################################################################################ get_search () { TELNR=`input l='Tel: 0180 ########## Firma: @@@@@@@@@@@@@@@@@@Nach Eingabe OK drücken! Tel hat Vorrang vor FirmaEXIT beendet das Plugin' k=1 t=$TITLE` # Eingabemaske if [ "$TELNR" = "" ] # Vorgang abgebrochen then rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMENU rm -f $TMSG rm -f /tmp/action.txt exit fi tel1=`echo "$TELNR"|sed -e 's/..................$//g`; tel=0180`echo $tel1 | sed -e 's/ *//g'` firma1=`echo "$TELNR"|sed -e 's/^..........//g`; firma=`echo $firma1 | sed -e 's/ /+/g'` if [ "$tel" = "0180" ] then SEARCH=$firma; Suche=$firma1 else SEARCH=$tel; Suche=$tel1 fi SEARCH="suche.html?s="`echo $SEARCH` } ################################################################################ # Auswerten der Suchanfrage # ################################################################################ get_result () { wget -q -O $TFILE "http://www.0180.info/$SEARCH" sed -n '/Zeile mit Ergebnissen/,/COLSPAN=4/ p' $TFILE|sed -e 's/<I>/<I>Info:/g' -e 's/\*//g' -e 's/ändern//g' -e 's/&/\&/g' -e 's/(Neuer Eintrag)//g' -e 's/<[^>]*>//g' -e 's/\n//g' -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL1 sed -n '/COLSPAN=4/,/COLSPAN=4/ p' $TFILE|sed -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL2 vor=`sed -n '/butt_vor/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` zurueck=`sed -n '/butt_zurueck/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` items=`sed -n -e '/Info:/ =' $TFIL1` anzahl $items if [ $anz -eq 0 ] then msgbox title=$TITLE msg="Kein Eintrag f~ur $Suche" else if [ "$vor" == "" ] && [ "$zurueck" == "" ] && [ $anz -eq 1 ] then # genau ein Eintrag detail 1 else # mehrere Seiten oder Einträge get_auswahl fi fi } ################################################################################ # Anzeige der einzelnen Firmen # ################################################################################ get_auswahl () { echo FONT=/share/fonts/neutrino.ttf > $TMENU echo FONTSIZE=26 >> $TMENU echo HIGHT=800 >> $TMENU echo WIDTH=1000 >> $TMENU echo LINESPP=15 >> $TMENU echo MENU=Firmen~ubersicht f~ur $Suche >> $TMENU echo 0 > /tmp/action.txt if [ "$zurueck" != "" ] then echo "ACTION=~T0100vorherige Seite,echo \"z\" > /tmp/action.txt" >> $TMENU fi k=1; i=1 while [ $i -le $anz ] do t1=`sed -n "$k"p $TFIL1|sed -e 's/,//g' -e "s/'//g"` #Firmenname echo "ACTION=~T0100$t1,echo \"$i\" > /tmp/action.txt" >> $TMENU k=`expr "$k" + 4`; i=`expr "$i" + 1` done if [ "$vor" != "" ] then echo "ACTION=~T0100n~achste Seite,echo \"v\" > /tmp/action.txt" >> $TMENU fi echo ENDMENU >> $TMENU shellexec $TMENU auswahl=`sed -n 1p /tmp/action.txt` case $auswahl in 1) detail 1 ;; 2) detail 5 ;; 3) detail 9 ;; 4) detail 13 ;; 5) detail 17 ;; 6) detail 21 ;; 7) detail 25 ;; 8) detail 29 ;; 9) detail 33 ;; 10) detail 37 ;; v) SEARCH=$vor get_result ;; z) SEARCH=$zurueck get_result ;; *) continue ;; esac } ################################################################################ # Detail-Anzeige eines Eintrags # ################################################################################ detail () { Zeile="$1"; Name=`sed -n "$Zeile"p $TFIL1`; Name=`echo $Name` Zeile=`expr "$Zeile" + 1` Info=`sed -n "$Zeile"p $TFIL1|sed -e 's/Info://g'`; Info=`echo $Info` Zeile=`expr "$Zeile" + 1` N0180=`sed -n "$Zeile"p $TFIL1'`; N0180=`echo $N0180` Zeile=`expr "$Zeile" + 1` NStd=`sed -n "$Zeile"p $TFIL1'`; NStd=`echo $NStd` Head="Ersatznummer f~ur $Name" echo teure Nummer: ~R$N0180 > $TMSG echo Ersatznummer: ~G$NStd >> $TMSG if [ "$Info" != "" ] then echo Info: >> $TMSG echo $Info|sed -e 's/.\{80\} /&\n/g' -e 's/^ //g' >> $TMSG fi msgbox title="$Head" msg=$TMSG } TITLE="0180-Nummernsuche" TFILE=/tmp/telinfo.txt TFIL1=/tmp/telinfo1.txt TFIL2=/tmp/telinfo2.txt TMENU=/tmp/telinfo.mnu TMSG=/tmp/telinfo.msg rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMSG rm -f /tmp/action.txt while [ 1 -eq 1 ] do get_search get_result done exit 0; Wenn jemand Optimierungsmöglichkeiten sieht kann er sie gerne posten. edit: Zeile 60 angepasst alt: detail neu: detail 1 edit 2: Tabulatoren entfernt (macht Probleme, wenn kein Info-Text vorhanden ist) edit 3: noch kleinere Fehler behoben bearbeitet 13. Mai 2011 von theobald123 2 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Bazi98 Geschrieben 13. Mai 2011 Melden Share Geschrieben 13. Mai 2011 @theobald, grüss dich, ist schön geworden Den Teil würde ich wegen dem Sonderzeichen "ü" TELNR=`input l='Tel: 0180 ########## Firma: @@@@@@@@@@@@@@@@@@Nach Eingabe OK drücken! Tel hat Vorrang vor FirmaEXIT beendet das Plugin' k=1 t=$TITLE` # Eingabemaske so gestallten TELNR=`input l='Tel: 0180 ########## Firma: @@@@@@@@@@@@@@@@@@Nach Eingabe OK dr~ucken! Tel hat Vorrang vor FirmaEXIT beendet das Plugin' k=1 t=$TITLE` # Eingabemaske dann zerhauts dir nicht die Text-Formatierung, ansonsten ist mir auf die schnelle nichts aufgefallen. Gruss bazi Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 16. Mai 2011 Melden Share Geschrieben 16. Mai 2011 "ü" korrigiert und case-Auswahl geändert. #! /bin/sh # 0180-Nummernsuche # by theobald123 (Idee: SnowHead) # Version: 1.0 Coolstream ################################################################################ # Zählen der Parameter # ################################################################################ anzahl () { anz=$#; } ################################################################################ # Eingabe der zu suchenden Telefonnummer oder Firma # ################################################################################ get_search () { TELNR=`input l='Tel: 0180 ########## Firma: @@@@@@@@@@@@@@@@@@Nach Eingabe OK dr~ucken! Tel hat Vorrang vor FirmaEXIT beendet das Plugin' k=1 t=$TITLE` # Eingabemaske if [ "$TELNR" = "" ] # Vorgang abgebrochen then rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMENU rm -f $TMSG rm -f /tmp/action.txt exit fi tel1=`echo "$TELNR"|sed -e 's/..................$//g`; tel=0180`echo $tel1 | sed -e 's/ *//g'` firma1=`echo "$TELNR"|sed -e 's/^..........//g`; firma=`echo $firma1 | sed -e 's/ /+/g'` if [ "$tel" = "0180" ] then SEARCH=$firma; Suche=$firma1 else SEARCH=$tel; Suche=$tel1 fi SEARCH="suche.html?s="`echo $SEARCH` } ################################################################################ # Auswerten der Suchanfrage # ################################################################################ get_result () { wget -q -O $TFILE "http://www.0180.info/$SEARCH" sed -n '/Zeile mit Ergebnissen/,/COLSPAN=4/ p' $TFILE|sed -e 's/<I>/<I>Info:/g' -e 's/\*//g' -e 's/ändern//g' -e 's/&/\&/g' -e 's/(Neuer Eintrag)//g' -e 's/<[^>]*>//g' -e 's/\n//g' -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL1 sed -n '/COLSPAN=4/,/COLSPAN=4/ p' $TFILE|sed -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL2 vor=`sed -n '/butt_vor/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` zurueck=`sed -n '/butt_zurueck/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` items=`sed -n -e '/Info:/ =' $TFIL1` anzahl $items if [ $anz -eq 0 ] then msgbox title=$TITLE msg="Kein Eintrag f~ur $Suche" else if [ "$vor" == "" ] && [ "$zurueck" == "" ] && [ $anz -eq 1 ] then # genau ein Eintrag detail 1 else # mehrere Seiten oder Einträge get_auswahl fi fi } ################################################################################ # Anzeige der einzelnen Firmen # ################################################################################ get_auswahl () { echo FONT=/share/fonts/neutrino.ttf > $TMENU echo FONTSIZE=26 >> $TMENU echo HIGHT=800 >> $TMENU echo WIDTH=1000 >> $TMENU echo LINESPP=15 >> $TMENU echo MENU=Firmen~ubersicht f~ur $Suche >> $TMENU if [ "$zurueck" != "" ] then echo "ACTION=~T0100vorherige Seite,echo \"z\" > /tmp/action.txt" >> $TMENU fi k=1; i=1 while [ $i -le $anz ] do t1=`sed -n "$k"p $TFIL1|sed -e 's/,//g' -e "s/'//g"` #Firmenname echo "ACTION=~T0100$t1,echo \"$i\" > /tmp/action.txt" >> $TMENU k=`expr "$k" + 4`; i=`expr "$i" + 1` done if [ "$vor" != "" ] then echo "ACTION=~T0100n~achste Seite,echo \"v\" > /tmp/action.txt" >> $TMENU fi echo ENDMENU >> $TMENU echo 0 > /tmp/action.txt shellexec $TMENU auswahl=`sed -n 1p /tmp/action.txt` case $auswahl in v) SEARCH=$vor get_result ;; z) SEARCH=$zurueck get_result ;; 0) continue ;; *) position=`expr \( "$auswahl" - 1 \) \* 4 + 1` detail $position ;; esac } ################################################################################ # Detail-Anzeige eines Eintrags # ################################################################################ detail () { Zeile="$1"; Name=`sed -n "$Zeile"p $TFIL1`; Name=`echo $Name` Zeile=`expr "$Zeile" + 1` Info=`sed -n "$Zeile"p $TFIL1|sed -e 's/Info://g'`; Info=`echo $Info` Zeile=`expr "$Zeile" + 1` N0180=`sed -n "$Zeile"p $TFIL1'`; N0180=`echo $N0180` Zeile=`expr "$Zeile" + 1` NStd=`sed -n "$Zeile"p $TFIL1'`; NStd=`echo $NStd` Head="Ersatznummer f~ur $Name" echo teure Nummer: ~R$N0180 > $TMSG echo Ersatznummer: ~G$NStd >> $TMSG if [ "$Info" != "" ] then echo Info: >> $TMSG echo $Info|sed -e 's/.\{80\} /&\n/g' -e 's/^ //g' >> $TMSG fi msgbox title="$Head" msg=$TMSG } TITLE="0180-Nummernsuche" TFILE=/tmp/telinfo.txt TFIL1=/tmp/telinfo1.txt TFIL2=/tmp/telinfo2.txt TMENU=/tmp/telinfo.mnu TMSG=/tmp/telinfo.msg rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMSG rm -f /tmp/action.txt while [ 1 -eq 1 ] do get_search get_result done exit 0; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 16. Mai 2011 Autor Admin Melden Share Geschrieben 16. Mai 2011 @theobald123 Wenn jemand Optimierungsmöglichkeiten sieht kann er sie gerne posten. Sieht schon sehr gut aus. Ein Wunsch noch: Wenn mehrere Einträge gefunden wurden und die Auswahl über FlexMenü erfolgt wäre es schön, wenn beim Schließen des angezeigten Ersatznummernfensters mit "OK" erst mal wieder in's FlexMenü zurückgegangen wird, um ggf. die restlichen Fundstellen anzuschauen falls die erste Auswahl nicht die richtige war. Schließt man das Fenster hingegen mit "Exit", könnte das Plugin komplett beendet werden. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 16. Mai 2011 Melden Share Geschrieben 16. Mai 2011 Steuerung optimiert: Funktionsweise: Suchmaske: OK: Anzeige Auswahlliste bzw. Detail (wenn genau ein Ergebnis vorhanden ist) EXIT: Plugin wird beendet Auswahlliste: OK: Anzeige Detail bzw. weitere Auswahlliste EXIT: Anzeige Suchmaske Detail: OK: Anzeige Auswahlliste bzw. Suchmaske (wenn genau ein Ergebnis vorhanden ist) EXIT: Plugin wird beendet und hier der Code: #! /bin/sh # 0180-Nummernsuche # by theobald123 (Idee: SnowHead) # Version: 1.0 Coolstream ################################################################################ # Zählen der Parameter # ################################################################################ anzahl () { anz=$#; } ################################################################################ # Eingabe der zu suchenden Telefonnummer oder Firma # ################################################################################ get_search () { TELNR=`input l='Tel: 0180 ########## Firma: @@@@@@@@@@@@@@@@@@Nach Eingabe OK dr~ucken! Tel hat Vorrang vor FirmaEXIT beendet das Plugin' k=1 t=$TITLE` # Eingabemaske if [ "$TELNR" = "" ] # Vorgang abgebrochen then rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMENU rm -f $TMSG rm -f /tmp/action.txt exit fi tel1=`echo "$TELNR"|sed -e 's/..................$//g`; tel=0180`echo $tel1 | sed -e 's/ *//g'` firma1=`echo "$TELNR"|sed -e 's/^..........//g`; firma=`echo $firma1 | sed -e 's/ /+/g'` if [ "$tel" = "0180" ] then SEARCH=$firma; Suche=$firma1 else SEARCH=$tel; Suche=$tel1 fi SEARCH="suche.html?s="`echo $SEARCH` } ################################################################################ # Auswerten der Suchanfrage # ################################################################################ get_result () { wget -q -O $TFILE "http://www.0180.info/$SEARCH" sed -n '/Zeile mit Ergebnissen/,/COLSPAN=4/ p' $TFILE|sed -e 's/<I>/<I>Info:/g' -e 's/\*//g' -e 's/ändern//g' -e 's/&/\&/g' -e 's/(Neuer Eintrag)//g' -e 's/<[^>]*>//g' -e 's/\n//g' -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL1 sed -n '/COLSPAN=4/,/COLSPAN=4/ p' $TFILE|sed -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL2 vor=`sed -n '/butt_vor/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` zurueck=`sed -n '/butt_zurueck/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` items=`sed -n -e '/Info:/ =' $TFIL1` anzahl $items if [ $anz -eq 0 ] then msgbox title=$TITLE msg="Kein Eintrag f~ur $Suche" else if [ "$vor" == "" ] && [ "$zurueck" == "" ] && [ $anz -eq 1 ] then # genau ein Eintrag detail 1 else # mehrere Seiten oder Einträge get_auswahl fi fi } ################################################################################ # Anzeige der einzelnen Firmen # ################################################################################ get_auswahl () { echo FONT=/share/fonts/neutrino.ttf > $TMENU echo FONTSIZE=26 >> $TMENU echo HIGHT=800 >> $TMENU echo WIDTH=1000 >> $TMENU echo LINESPP=15 >> $TMENU echo MENU=Firmen~ubersicht f~ur $Suche >> $TMENU if [ "$zurueck" != "" ] then echo "ACTION=~T0100vorherige Seite,echo \"z\" > /tmp/action.txt" >> $TMENU fi k=1; i=1 while [ $i -le $anz ] do t1=`sed -n "$k"p $TFIL1|sed -e 's/,//g' -e "s/'//g"` #Firmenname echo "ACTION=~T0100$t1,echo \"$i\" > /tmp/action.txt" >> $TMENU k=`expr "$k" + 4`; i=`expr "$i" + 1` done if [ "$vor" != "" ] then echo "ACTION=~T0100n~achste Seite,echo \"v\" > /tmp/action.txt" >> $TMENU fi echo ENDMENU >> $TMENU while [ 1 -eq 1 ] do echo 0 > /tmp/action.txt shellexec $TMENU auswahl=`sed -n 1p /tmp/action.txt` case $auswahl in v) SEARCH=$vor get_result ;; z) SEARCH=$zurueck get_result ;; 0) break ;; *) position=`expr \( "$auswahl" - 1 \) \* 4 + 1` detail $position ;; esac done } ################################################################################ # Detail-Anzeige eines Eintrags # ################################################################################ detail () { Zeile="$1"; Name=`sed -n "$Zeile"p $TFIL1`; Name=`echo $Name` Zeile=`expr "$Zeile" + 1` Info=`sed -n "$Zeile"p $TFIL1|sed -e 's/Info://g'`; Info=`echo $Info` Zeile=`expr "$Zeile" + 1` N0180=`sed -n "$Zeile"p $TFIL1'`; N0180=`echo $N0180` Zeile=`expr "$Zeile" + 1` NStd=`sed -n "$Zeile"p $TFIL1'`; NStd=`echo $NStd` Head="Ersatznummer f~ur $Name" echo teure Nummer: ~R$N0180 > $TMSG echo Ersatznummer: ~G$NStd >> $TMSG if [ "$Info" != "" ] then echo Info: >> $TMSG echo $Info|sed -e 's/.\{80\} /&\n/g' -e 's/^ //g' >> $TMSG fi msgbox title="$Head" msg=$TMSG refresh=0 if [ $? -eq 0 ] then exit fi } TITLE="0180-Nummernsuche" TFILE=/tmp/telinfo.txt TFIL1=/tmp/telinfo1.txt TFIL2=/tmp/telinfo2.txt TMENU=/tmp/telinfo.mnu TMSG=/tmp/telinfo.msg rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMSG rm -f /tmp/action.txt while [ 1 -eq 1 ] do get_search get_result done exit 0; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 1. Juni 2011 Autor Admin Melden Share Geschrieben 1. Juni 2011 Nachdem ich gestern durch die Nutzung einer kostenfreien Nummer statt der teuren 0180-Servicenummer wieder eine ganze Menge Geld gespart hatte, habe ich nun endlich mal ein Archiv gepackt, welches die Installation des Plugins entweder online oder (aus dem DL-Bereich heruntergeladen) über /tmp ermöglicht. Danke noch mal an theobald123 für die Weiterentwicklung. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 24. Juni 2011 Autor Admin Melden Share Geschrieben 24. Juni 2011 Version 1.2 unterstützt jetzt auch Nummern wie z.B. 0181 070 011. Das Update ist online und offline möglich. 2 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Bazi98 Geschrieben 25. Juni 2011 Melden Share Geschrieben 25. Juni 2011 (bearbeitet) Version 1.2 unterstützt jetzt auch Nummern wie z.B. 0181 070 011. Das Update ist online und offline möglich. Ein kleiner Schönheitsfehler in Zeile 78 der bewirkt das bei einer Namensabfrage im Titel die Zahl 018 und der Abfragename angezeigt werden. Anstelle... echo MENU=Firmen~ubersicht f~ur 018$Suche >> $TMENU würde ich mal das folgende testen echo MENU=Firmen~ubersicht f~ur $Suche >> $TMENU Edit: Klappt dann zwar bei der Namenssuche, aber bei der Nummersuche fehlt dann 018 am Anfag der Nummer, müsste also noch etwas anderes angepasst werden bearbeitet 25. Juni 2011 von Bazi98 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 25. Juni 2011 Melden Share Geschrieben 25. Juni 2011 Ich habe den code noch en klein wenig verändert. Jetzt sollten alle Möglichkeiten richtig angezeigt werden. #! /bin/sh # 0180-Nummernsuche # by theobald123 (Idee: SnowHead) # Version: 1.2 Coolstream ################################################################################ # Zählen der Parameter # ################################################################################ anzahl () { anz=$#; } ################################################################################ # Eingabe der zu suchenden Telefonnummer oder Firma # ################################################################################ get_search () { TELNR=`input l='Tel: 018###############Firma: @@@@@@@@@@@@@@@@@@Nach Eingabe OK dr~ucken! Tel hat Vorrang vor FirmaEXIT beendet das Plugin Powered by teltarif.de' k=1 t=$TITLE` # Eingabemaske if [ "$TELNR" = "" ] # Vorgang abgebrochen then rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMENU rm -f $TMSG rm -f /tmp/action.txt exit fi tel1=`echo "$TELNR"|sed -e 's/..................$//g`; tel=018`echo $tel1 | sed -e 's/ *//g'` firma1=`echo "$TELNR"|sed -e 's/^..........//g`; firma=`echo $firma1 | sed -e 's/ /+/g'` if [ "$tel" = "018" ] then SEARCH=$firma; Suche=$firma1 else SEARCH=$tel; Suche=$tel fi SEARCH="suche.html?s="`echo $SEARCH` } ################################################################################ # Auswerten der Suchanfrage # ################################################################################ get_result () { wget -q -O $TFILE "http://www.0180.info/$SEARCH" sed -n '/Zeile mit Ergebnissen/,/COLSPAN=4/ p' $TFILE|sed -e 's/<I>/<I>Info:/g' -e 's/\*//g' -e 's/ändern//g' -e 's/&/\&/g' -e 's/(Neuer Eintrag)//g' -e 's/<[^>]*>//g' -e 's/\n//g' -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL1 sed -n '/COLSPAN=4/,/COLSPAN=4/ p' $TFILE|sed -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL2 vor=`sed -n '/butt_vor/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` zurueck=`sed -n '/butt_zurueck/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` items=`sed -n -e '/Info:/ =' $TFIL1` anzahl $items if [ $anz -eq 0 ] then msgbox title=$TITLE msg="Kein Eintrag f~ur $Suche" else if [ "$vor" == "" ] && [ "$zurueck" == "" ] && [ $anz -eq 1 ] then # genau ein Eintrag detail 1 else # mehrere Seiten oder Einträge get_auswahl fi fi } ################################################################################ # Anzeige der einzelnen Firmen # ################################################################################ get_auswahl () { echo FONT=/share/fonts/neutrino.ttf > $TMENU echo FONTSIZE=26 >> $TMENU echo HIGHT=800 >> $TMENU echo WIDTH=1000 >> $TMENU echo LINESPP=15 >> $TMENU echo MENU=Firmen~ubersicht f~ur $Suche >> $TMENU if [ "$zurueck" != "" ] then echo "ACTION=~T0100vorherige Seite,echo \"z\" > /tmp/action.txt" >> $TMENU fi k=1; i=1 while [ $i -le $anz ] do t1=`sed -n "$k"p $TFIL1|sed -e 's/,//g' -e "s/'//g"` #Firmenname echo "ACTION=~T0100$t1,echo \"$i\" > /tmp/action.txt" >> $TMENU k=`expr "$k" + 4`; i=`expr "$i" + 1` done if [ "$vor" != "" ] then echo "ACTION=~T0100n~achste Seite,echo \"v\" > /tmp/action.txt" >> $TMENU fi echo ENDMENU >> $TMENU while [ 1 -eq 1 ] do echo 0 > /tmp/action.txt shellexec $TMENU auswahl=`sed -n 1p /tmp/action.txt` case $auswahl in v) SEARCH=$vor get_result ;; z) SEARCH=$zurueck get_result ;; 0) break ;; *) position=`expr \( "$auswahl" - 1 \) \* 4 + 1` detail $position ;; esac done } ################################################################################ # Detail-Anzeige eines Eintrags # ################################################################################ detail () { Zeile="$1"; Name=`sed -n "$Zeile"p $TFIL1`; Name=`echo $Name` Zeile=`expr "$Zeile" + 1` Info=`sed -n "$Zeile"p $TFIL1|sed -e 's/Info://g'`; Info=`echo $Info` Zeile=`expr "$Zeile" + 1` N0180=`sed -n "$Zeile"p $TFIL1'`; N0180=`echo $N0180` Zeile=`expr "$Zeile" + 1` NStd=`sed -n "$Zeile"p $TFIL1'`; NStd=`echo $NStd` Head="Ersatznummer f~ur $Name" echo teure Nummer: ~R$N0180 > $TMSG echo Ersatznummer: ~G$NStd >> $TMSG if [ "$Info" != "" ] then echo Info: >> $TMSG echo $Info|sed -e 's/.\{80\} /&\n/g' -e 's/^ //g' >> $TMSG fi msgbox title="$Head" msg=$TMSG refresh=0 if [ $? -eq 0 ] then exit fi } TITLE="0180-Nummernsuche" TFILE=/tmp/telinfo.txt TFIL1=/tmp/telinfo1.txt TFIL2=/tmp/telinfo2.txt TMENU=/tmp/telinfo.mnu TMSG=/tmp/telinfo.msg rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMSG rm -f /tmp/action.txt while [ 1 -eq 1 ] do get_search get_result done exit 0; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Bazi98 Geschrieben 25. Juni 2011 Melden Share Geschrieben 25. Juni 2011 @theobald123, thx, bis jetzt sind mir keine Anzeigefehler mehr aufgefallen. Gruss bazi Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 27. Juni 2011 Autor Admin Melden Share Geschrieben 27. Juni 2011 @theobald123 Danke für die Änderungen. Deine Version ist jetzt als 1.3 online und offline zum Update verfügbar. Schau bei Gelegenheit bitte noch mal, was bei z.B. 01803040500 schiefgeht. Da ist was verschoben. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 27. Juni 2011 Melden Share Geschrieben 27. Juni 2011 erledigt! Ich hatte den Zusatz (Eintrag geändert) nicht abgefangen. #! /bin/sh # 0180-Nummernsuche # by theobald123 (Idee: SnowHead) # Version: 1.2 Coolstream ################################################################################ # Zählen der Parameter # ################################################################################ anzahl () { anz=$#; } ################################################################################ # Eingabe der zu suchenden Telefonnummer oder Firma # ################################################################################ get_search () { TELNR=`input l='Tel: 018###############Firma: @@@@@@@@@@@@@@@@@@Nach Eingabe OK dr~ucken! Tel hat Vorrang vor FirmaEXIT beendet das Plugin Powered by teltarif.de' k=1 t=$TITLE` # Eingabemaske if [ "$TELNR" = "" ] # Vorgang abgebrochen then rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMENU rm -f $TMSG rm -f /tmp/action.txt exit fi tel1=`echo "$TELNR"|sed -e 's/..................$//g`; tel=018`echo $tel1 | sed -e 's/ *//g'` firma1=`echo "$TELNR"|sed -e 's/^..........//g`; firma=`echo $firma1 | sed -e 's/ /+/g'` if [ "$tel" = "018" ] then SEARCH=$firma; Suche=$firma1 else SEARCH=$tel; Suche=$tel fi SEARCH="suche.html?s="`echo $SEARCH` } ################################################################################ # Auswerten der Suchanfrage # ################################################################################ get_result () { wget -q -O $TFILE "http://www.0180.info/$SEARCH" sed -n '/Zeile mit Ergebnissen/,/COLSPAN=4/ p' $TFILE|sed -e 's/<I>/<I>Info:/g' -e 's/\*//g' -e 's/ändern//g' -e 's/&/\&/g' -e 's/(Neuer Eintrag)//g' -e 's/(Eintrag geändert)//g' -e 's/<[^>]*>//g' -e 's/\n//g' -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL1 sed -n '/COLSPAN=4/,/COLSPAN=4/ p' $TFILE|sed -e '/^[^0-9a-zA-Z!-\/|]*$/d' > $TFIL2 vor=`sed -n '/butt_vor/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` zurueck=`sed -n '/butt_zurueck/{g;1!p;};h' $TFIL2|sed -e 's/^.*suche.html/suche.html/g' -e 's/\".*$//g'` items=`sed -n -e '/Info:/ =' $TFIL1` anzahl $items if [ $anz -eq 0 ] then msgbox title=$TITLE msg="Kein Eintrag f~ur $Suche" else if [ "$vor" == "" ] && [ "$zurueck" == "" ] && [ $anz -eq 1 ] then # genau ein Eintrag detail 1 else # mehrere Seiten oder Einträge get_auswahl fi fi } ################################################################################ # Anzeige der einzelnen Firmen # ################################################################################ get_auswahl () { echo FONT=/share/fonts/neutrino.ttf > $TMENU echo FONTSIZE=26 >> $TMENU echo HIGHT=800 >> $TMENU echo WIDTH=1000 >> $TMENU echo LINESPP=15 >> $TMENU echo MENU=Firmen~ubersicht f~ur $Suche >> $TMENU if [ "$zurueck" != "" ] then echo "ACTION=~T0100vorherige Seite,echo \"z\" > /tmp/action.txt" >> $TMENU fi k=1; i=1 while [ $i -le $anz ] do t1=`sed -n "$k"p $TFIL1|sed -e 's/,//g' -e "s/'//g"` #Firmenname echo "ACTION=~T0100$t1,echo \"$i\" > /tmp/action.txt" >> $TMENU k=`expr "$k" + 4`; i=`expr "$i" + 1` done if [ "$vor" != "" ] then echo "ACTION=~T0100n~achste Seite,echo \"v\" > /tmp/action.txt" >> $TMENU fi echo ENDMENU >> $TMENU while [ 1 -eq 1 ] do echo 0 > /tmp/action.txt shellexec $TMENU auswahl=`sed -n 1p /tmp/action.txt` case $auswahl in v) SEARCH=$vor get_result ;; z) SEARCH=$zurueck get_result ;; 0) break ;; *) position=`expr \( "$auswahl" - 1 \) \* 4 + 1` detail $position ;; esac done } ################################################################################ # Detail-Anzeige eines Eintrags # ################################################################################ detail () { Zeile="$1"; Name=`sed -n "$Zeile"p $TFIL1`; Name=`echo $Name` Zeile=`expr "$Zeile" + 1` Info=`sed -n "$Zeile"p $TFIL1|sed -e 's/Info://g'`; Info=`echo $Info` Zeile=`expr "$Zeile" + 1` N0180=`sed -n "$Zeile"p $TFIL1'`; N0180=`echo $N0180` Zeile=`expr "$Zeile" + 1` NStd=`sed -n "$Zeile"p $TFIL1'`; NStd=`echo $NStd` Head="Ersatznummer f~ur $Name" echo teure Nummer: ~R$N0180 > $TMSG echo Ersatznummer: ~G$NStd >> $TMSG if [ "$Info" != "" ] then echo Info: >> $TMSG echo $Info|sed -e 's/.\{80\} /&\n/g' -e 's/^ //g' >> $TMSG fi msgbox title="$Head" msg=$TMSG refresh=0 if [ $? -eq 0 ] then exit fi } TITLE="0180-Nummernsuche" TFILE=/tmp/telinfo.txt TFIL1=/tmp/telinfo1.txt TFIL2=/tmp/telinfo2.txt TMENU=/tmp/telinfo.mnu TMSG=/tmp/telinfo.msg rm -f $TFILE rm -f $TFIL1 rm -f $TFIL2 rm -f $TMSG rm -f /tmp/action.txt while [ 1 -eq 1 ] do get_search get_result done exit 0; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 27. Juni 2011 Autor Admin Melden Share Geschrieben 27. Juni 2011 @theobald123 Danke. Jetzt als Version 1.4 im Update und im DL-Bereich. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Bazi98 Geschrieben 27. Januar 2014 Melden Share Geschrieben 27. Januar 2014 Das Skript funktioniert bei mir nicht mehr, ich bekomme bei jeder Nummern- oder Namenssuche als Antwort "Kein Eintrag für xxx" und habe deshalb die Vermutung dass das Abfrage Format geändert wurde. Laut Seitenquelltext wird aktuell der folgende Syntax verwendet <link rel="alternate" media="handheld" href="http://mobil.0180.info/suche.html?s=01802266222"> <link rel="canonical" href="http://www.0180.info/suche.html?s=01802266222"> ps.: Die 01802-266222 ist die von Sky und via Browserabfrage liefert die auf der Seite ein Ergebniss Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 27. Januar 2014 Autor Admin Melden Share Geschrieben 27. Januar 2014 @bazi98 Danke für den Hinweis. Die Abfrage an sich stimmt noch nur ist das Seitenlayout komplett umgestellt, was Scripten, welche HTML-Seiten parsen schon öfters auf die Füße gefallen ist. Da das Script aus der Feder von theobald123 stammt, würde ich vorschlagen, daß er sich der Sache annimmt, falls und wenn er Zeit hat. Ich komme im Moment nicht dazu, mich damit zu befassen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 27. Januar 2014 Melden Share Geschrieben 27. Januar 2014 Da das Script aus der Feder von theobald123 stammt, würde ich vorschlagen, daß er sich der Sache annimmt, falls und wenn er Zeit hat. geht in Ordnung! 1 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
theobald123 Geschrieben 29. Januar 2014 Melden Share Geschrieben 29. Januar 2014 bitte testen: ps: Danke für den Titel Änderungen: Die Zusatzinfo musste ich entfernen neu: Eintrag zum direkten Beenden des Plugins in die Auswahlliste aufgenommen 0180info.zip 1 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Bazi98 Geschrieben 30. Januar 2014 Melden Share Geschrieben 30. Januar 2014 @theobald123, super, klappt einwand frei Danke für die geopferte Freizeit Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Markham Geschrieben 24. April 2014 Melden Share Geschrieben 24. April 2014 @theobald123 Da hat sich wohl wieder das Seitenlayout geändert. Wenn du mal Zeit findest.... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge