Seite 1 von 2

Conky:Accuweather-Script eindeutschen(veraltet)

BeitragVerfasst: Nov 25th, '15, 12:06
von AndieY
Da Accuweather.com auch deutschsprachige Wettervorhersagen anbietet hab ich mich mal dem Bashscript angenommen. Wie üblich habe ich aber so meine Probleme,eine Lösung für die Umlaute hab ich schon gefunden,

1.aber leider bricht das Script immer noch ab, mit
Code: Alles auswählen
sed: -e Ausdruck #1, Zeichen 11: Nicht beendeter `s'-Befehl
ich denke mal das es an dieser Stelle hakt
Code: Alles auswählen
 sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font/last_days


2.was macht diese Zeile bzw was macht egrep
Code: Alles auswählen
 egrep -i 'Early AM|Today|Tonight|Overnight|icon i-|cond|temp|Mon|Tue|Wed|Thu|Fri|Sat|Sun' $HOME/1a_accuweather_conkyweather_font/tod_ton_raw > $HOME/1a_accuweather_conkyweather_font/tod_ton

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 25th, '15, 14:16
von man-draker
AndieY hat geschrieben:2.was macht diese Zeile bzw was macht egrep
Code: Alles auswählen
 egrep -i 'Early AM|Today|Tonight|Overnight|icon i-|cond|temp|Mon|Tue|Wed|Thu|Fri|Sat|Sun' $HOME/1a_accuweather_conkyweather_font/tod_ton_raw > $HOME/1a_accuweather_conkyweather_font/tod_ton

Sie durchsucht die Datei $HOME/1a_accuweather_conkyweather_font/tod_ton_raw nach dem alternativen Vorkommen einer der Suchstrings 'Early AM|Today|Tonight|Overnight|icon i-|cond|temp|Mon|Tue|Wed|Thu|Fri|Sat|Sun'
und schreibt die ausgegebenen Treffer in die Datei $HOME/1a_accuweather_conkyweather_font/tod_ton

Der Parameter "-i" sorgt dafür, dass Groß/Kleinschreibung ignoriert wird.

Weiteres siehe "man grep".

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 25th, '15, 16:39
von doktor5000
AndieY hat geschrieben:
Code: Alles auswählen
sed: -e Ausdruck #1, Zeichen 11: Nicht beendeter `s'-Befehl
ich denke mal das es an dieser Stelle hakt
Code: Alles auswählen
 sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font/last_days


Die Syntax passt nicht. Sollte generell so aussehen
Code: Alles auswählen
sed -i 's/alt/neu/' datei_zu_ändern

Ersetzt (s = substitute) in datei_zu_ändern das 1. Vorkommen pro Zeile von "alt" nach "neu" und macht das in-Place (-i) also ohne dass man selber noch eine temporäre Datei anlegen muss.

In deinem Beispiel fehlt zum einen das Maskieren (bei mir via ' ' aber muss bei dir mit normalen Anführungszeichen " " gemacht werden da die Variablen ja expandiert werden sollen vermutlich).
Und zum anderen weiß ich nicht was das ${i} vor dem substitute-Befehl machen soll. Als umfassende sed-Übersicht kann ich http://www.grymoire.com/Unix/Sed.html empfehlen.

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 25th, '15, 21:14
von unklar
AndieY hat geschrieben:Da Accuweather.com auch deutschsprachige Wettervorhersagen anbietet ...


Interessant, wo hast du das her? Bitte mal eine Beschreibung, einen Link, Doku... 8-)

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 25th, '15, 22:23
von AndieY
unklar hat geschrieben:
AndieY hat geschrieben:Da Accuweather.com auch deutschsprachige Wettervorhersagen anbietet ...


Interessant, wo hast du das her? Bitte mal eine Beschreibung, einen Link, Doku... 8-)
http://www.accuweather.com/de/de/germany-weather

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 26th, '15, 11:02
von unklar
Nee, nee!

Deshalb habe ich doch auch so verblüfft gefragt. ;)
Diese Daten: http://www.accuweather.com/de/de/bebra/ ... ast/168731
haben mit denen, die das Script holt gar nix zu tun. Auch, wenn das sicherlich die gleiche Datenbank ist.

Ich glaube auch nicht, wenn die Quelle das hier im Browser nicht mal "hinkriegt", statt in imperial das in metric auszugeben,
es mit den angeforderten Daten des Script anders ist. Der Betreiber hätte eine Vielzahl Leute zu beschäftigen, die das weltweit in den
unterschiedlichen Sprachen "ummünzen". :)

Der Begriff "eindeutschen" wurde von mir, soweit ich das überblicke, im dem Sinne verwandt, die deutschen Begriffe im Rahmen des in
den Konfigurationsdateien und Scripten möglichen zu verwenden. Ohne, die Gesamtdarstellung zu stören.

Edit: hier mal ein Beispiel
1a_3.jpg

Während sich die Wochentage im Script noch einwandfrei ändern lassen, kann ich "Heute" (TODAY) schon nicht mehr ändern, weil
es dafür noch zwei weitere (TONIGHT + OVERNIGHT) gibt und mir unter dem HEUTE als Bild ein amerikanischer Wirbelsturm ange-
zeigt wird. :) Und, was glaubst du was passiert, wenn du den übermittelten Text auch in deutsch haben willst ...

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 26th, '15, 17:25
von AndieY
@Unklar du machst deinem Nickname alle ehre :D

Im Orginal stammt das Bash-Skript von TeoBigusGeekus aus dem Crunchbangforum und gehört zu dem Accuweather_ConkyWeather_Font - 1a_12-2-14

Die Funktionsweise mal grob erklärt
Schritt1 Es läd die unter "address=" angegebene Website in 3 Dateien mittels Wget herunter
Schritt2 Es filtert die Inhalte mit egrep und sed nach vorgegebenen Kriterien
Schritt3 Es wandelt die als Zahlenwert hinterlegten Wettersymbole in Buchstaben um, welcher im Conky mittels der ConkyWeather.ttf dargestellt werden.

Das Umstellen auf deutsch ist leider nicht so einfach, es genügt nicht nur die Adresse auf die Deutsche Version umzustellen. Sondern man muss auch Stolpersteine in Form von Umlauten oder Filterbegriffen die es im Englischen aber nicht im Deutschen gibt aus den Weg Räumen.
Kleine Beispiel, dies hier
Code: Alles auswählen
 egrep -i 'icon i-|cond|temp|Mon|Tue|Wed|Thu|Fri|Sat|Sun'
wird zu diesem hier
Code: Alles auswählen
egrep -i 'icon i-|cond|temp|Mo<|Di<|Mi<|Do<|Fr<|Sa<|So<'
wobei man die < nicht Vergessen darf, sonst findet egreb zu viel und sed bricht mit einer nichts sagenden Fehlermeldung ab.

Wie dem auch sei ich bedanke mich hier für die Hilfe, habe das Script schon fast fertig. Mir fehlt noch der auf der deutschsprachigen Version von accuweather.com verwendete Begriff von Early AM

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 26th, '15, 21:57
von unklar
Eh, eh! :D
AndieY hat geschrieben:..Begriff von Early AM
na
früh
früher Vormittag
frühe Vormittagsstunden


AM = ante meridiem = vormittags
auch=before noon = am Vormittag

such dir's aus (wobei einfach "früh" vernünftig erscheint).

Da bin ich aber auf das Script gespannt. Ich hoffe, du läßt mich es teilhaben. :D

Vielleicht hilft dir das ein wenig bei den Ausgaben des Script:
1a_companion.conky.txt
(8.3 KiB) 269-mal heruntergeladen

.txt entfernen und mit in's VZ.

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 27th, '15, 00:33
von AndieY
unklar hat geschrieben:such dir's aus (wobei einfach "früh" vernünftig erscheint).
Mit einer einfachen Übersetzung ist es leider nicht getan, ich muss wissen wie der Begriff im "Quelltext" heißt, damit sed den Begriff auch dort finden kann.

Den Fehler hatte ich schon bei "tonight" gemacht. Zuerst mit mit "Heute Nacht" übersetzt...funktioniert nicht...mit "Heute abend" ....auch nicht in den Quelltext geschaut und dort steht "H abd" (wirklich so inklusive Leerzeichen), darauf muss man erst mal kommen.



Wenn du beim Debuggen helfen magst schick mir eine PN mit deiner Email-Adresse, dann schick ich dir das Script mit allem was dazugehört. Ansonsten muss du eine paar Wochen warten, will das selber erst mal beobachten um Fehler auszumerzen.

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 27th, '15, 15:23
von unklar
AndieY hat geschrieben:Wenn du beim Debuggen helfen magst schick mir eine PN mit deiner Email-Adresse, dann schick ich dir das Script mit allem was dazugehört. Ansonsten muss du eine paar Wochen warten, will das selber erst mal beobachten um Fehler auszumerzen.


Danke für das Angebot.

1. kenne ich mich selbst mit dem Bau von Scripten überhaupt nicht aus.
2. ist das hier eine Gemeinschaft, heißt JEDER (ob er nun kann oder nicht kann) bekommt Zugang zu den hier ablaufenden Dingen.

Ich halte nicht's vom "stillen Kämmerlein". ;)

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Nov 28th, '15, 12:11
von AndieY
Screenshot_20151128_103136.png
mal ein kleiner Vorgeschmack, bin aber noch nicht zufrieden teilweise wird der Text mitten im Wort/Satz abgeschnitten.

Und so ganz Nebenbei, so pralle ist accuweather.com auch nicht, also die Vorhersagen und die Texte. Weather.com ist da schon besser, es soll ja auch ein Script für weather.com geben, hab da aber bisher nur einen Screenshot gefunden.

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 4th, '15, 19:07
von AndieY
Nächstes Problem, mit
Code: Alles auswählen
sed -n '29p' $HOME/Datei
wird die Zeile 29 aus "Datei" ausgelesen. Wie kann ich es anstellen das der Text aus Zeile 29 nach z.B. 20 Zeichen beim nächsten Leerzeichen getrennt und in einer neuen Zeile weiter geschrieben wird. So das ich aus einer Zeile zwei mache?

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 5th, '15, 14:51
von unklar
Entschuldige @AndieY,
es wird dir auch nicht weiter helfen...

Ich habe bei @TeoBigusGeekus wegen einer deutschen
Textausgabe seines Scripts angefragt und er hat mir heute abschließend mitgeteilt:
Translator hat geschrieben:Entschuldigung.
Ich pflegte, Deutsch, Französisch, Polnisch, Ungarisch usw. Versionen der Skripte haben, aber es ist zu schwer zu pflegen, dh. wenn etwas bricht in ihnen, müssen Sie viele Beispiele der Scripte verändern (sie hatten ein paar kleine Unterschiede, die sie besonderen Fällen gemacht, jeder von ihnen).
...
Es tut uns leid unklar, aber ich glaube nicht, dass ich die Zeit, um eine Übersetzung des Skripts zu tun finden.
Außerdem würde jemand auch fragen mich, ein Französisch ein, eine polnische, eine rumänische, ein italienisches einem usw. zu tun und ich konnte einfach nicht ablehnen.
...
Ich begann zu versuchen, das vorhandene Skript zu einer deutschen Übersetzung anzupassen, nur um zu entdecken, was ich schon wusste: Ich hatte fast ein ganzes neues Skript zu erstellen.

Entschuldigung unklar, aber das ist jetzt über mir ...


Gern hätte ich dir eine positive Nachricht überbracht, jedoch ist das Ganze für mich schon nachvollziehbar. :)

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 5th, '15, 20:23
von lula
AndieY hat geschrieben:Wie kann ich es anstellen das der Text aus Zeile 29 nach z.B. 20 Zeichen beim nächsten Leerzeichen getrennt und in einer neuen Zeile weiter geschrieben wird. So das ich aus einer Zeile zwei mache?
Schau Dir mal fold oder fmt an

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 11:18
von AndieY
@lula Danke das war's funktioniert soweit

Will noch eine Schleife (oder wie auch immer sich das schimpft)bauen, also so eine if then Dingens bauen. Bekomme

1. sollen die Zeichen in einer Zeile gezählt werden, das funktioniert auch mit
Code: Alles auswählen
sed -n '1p' firsttest | wc -m
aber wie übergebe ich den Wert dann an die nächste Funktion (also Schritt 2 bzw 3)? und was setzte ich als Platzhalter anstelle von '1p' ein?

2.wenn es mehr als 40 Zeichen sind soll ein
Code: Alles auswählen
fold -s -w40}
auf diese Zeile angewendet werden.

3.wenn es weniger als 40 Zeichen sind soll eine Leerzeile mit
Code: Alles auswählen
sed -e "s/$/\n/g"


Ziel der Geschichte ist es das entweder ein Zeilenumbruch bei mehr als 40 Zeichen oder einer Leerzeile bei weniger als 40 Zeichen eingefügt wird,

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 11:42
von lula
  • Liest Du mit dem sed-Befehl alle Zeilen, also nach 1p 2p ... und so weiter oder sind das nur einzelne, ausgewählte Zeilen?
  • Woher kommen die Zeilen, aus einer Datei oder einem Befehl?

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 13:08
von AndieY
lula hat geschrieben:
  • Liest Du mit dem sed-Befehl alle Zeilen, also nach 1p 2p ... und so weiter oder sind das nur einzelne, ausgewählte Zeilen?
  • Woher kommen die Zeilen, aus einer Datei oder einem Befehl?
Die Zeilen kommen aus einer Datei und sollen einzeln Zeile für Zeile abgearbeitet werden

Edit sagt: zum Schluss soll das natürlich alles in einer Datei gespeichert werden

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 15:44
von unklar
Hallo Ihr Script-Entwickler! :D

Wo Ihr bald fertig seit,
Teo hat mir vorhin das Script auf DEUTSCH bereitgestellt (der verrückte, gute Kerl hat es doch gemacht). :!:
Ich habe es getestet - funktioniert einwandfrei.
1a_Deutsch2.jpg

Bedient Euch. ;) Bitte in ein Verzeichnis 1a_accuweather_conkyweather_font_Deutsch ablegen.
Code: Alles auswählen
#!/bin/bash

#function: test_image
test_image () {
    case $1 in
         1)
           echo a
         ;;
         2|3)
           echo b
         ;;
         4|5)
           echo c
         ;;
         6)
           echo d
         ;;
         7)
           echo e
         ;;
         8)
           echo f
         ;;
         11)
           echo 0
         ;;
         12)
           echo h
         ;;
         13|14)
           echo g
         ;;
         15)
           echo m
         ;;
         16|17)
           echo k
         ;;
         18)
           echo i
         ;;
         19)
           echo q
         ;;
         20|21|23)
           echo o
         ;;
         22)
           echo r
         ;;
         24|31)
           echo E
         ;;
         25)
           echo v
         ;;
         26)
           echo x
         ;;
         29)
           echo y
         ;;
         30)
           echo 5
         ;;
         32)
           echo 6
         ;;
         33)
           echo A
         ;;
         34|35)
           echo B
         ;;
         36|37)
           echo C
         ;;
         38)
           echo D
         ;;
         39|40)
           echo G
         ;;
         41|42)
           echo K
         ;;
         43|44)
           echo O
         ;;
         *)
         echo -
       ;;   
        esac
}


kill -STOP $(pidof conky)
killall wget

#put your Accuweather address here
address="http://www.accuweather.com/de/de/berlin/10178/weather-forecast/178087"
#address="http://www.accuweather.com/en/us/los-angeles-ca/90012/weather-forecast/347625"

loc_id=$(echo $address|sed 's/\/weather-forecast.*$//'|sed 's/^.*\///')
last_number=$(echo $address|sed 's/^.*\///')

curr_addr="$(echo $address|sed 's/weather-forecast.*$//')"current-weather/"$last_number"
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw "$curr_addr"

addr1="$(echo $address|sed 's/weather-forecast.*$//')"daily-weather-forecast/"$last_number"
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw "$addr1"

addr2="$addr1"?day=6
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw "$addr2"

#current conditions
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw ]]; then

    sed -i '/detail-now/,/#details/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw
    egrep -i '"cond"|icon i-|detail-tab-panel' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/^.*detail-tab-panel //g' -e 's/^.*icon i-//g' -e 's/"><\/div>.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/^.*"cond">//g' -e 's/&deg/\n/g' -e 's/<\/span>.*"temp">/\n/g' -e 's/<.*>//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/">//g' -e 's/-->//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' -e 's/-[a-z].*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
   
    image=$(sed -n 2p $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond)
    sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond

fi

#First 5 days
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw ]]; then

    sed -i '/feed-tabs/,/\.feed-tabs/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw
    egrep -i 'Abend|Heute|Heute Abend|Nacht|icon i-|cond|temp|>Mo<|>Di<|>Mi<|>Do<|>Fr<|>Sa<|>So<' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/^.*#">//g' -e 's/^.*icon i-//g' -e 's/^.*cond">//g' -e 's/^.*temp">//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/TT<\/span> /\n/g' -e 's/<\/a>.*$//g' -e 's/ "><.*$//g' -e 's/&#.*$//g' -e 's/teo//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/<span>.*$//g' -e 's/<\/span>//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   sed -i -e 's/Early AM/EARLY AM/' -e 's/Heute/HEUTE/' -e 's/Tonight/TONIGHT/' -e 's/Overnight/OVERNIGHT/' -e 's/Mo$/MONTAG/' -e 's/Di$/DIENSTAG/' -e 's/Mi$/MITTWOCH/' -e 's/Do$/DONNERSTAG/' -e 's/Fr$/FREITAG/' -e 's/Sa$/SAMSTAG/' -e 's/So$/SONNTAG/' -e 's/-[a-z]$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    time=$(sed -n 1p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
    image=$(sed -n 2p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
   if [[ $time == HEUTE ]]; then
       sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   elif [[ $time == ABEND || $time == NACHT || $time == "EARLY AM" ]]; then
       sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
        sed -i 3a- $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   fi
    for (( i=7; i<=22; i+=5 ))
     do
          image=$(sed -n "${i}"p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
         sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
     done

fi

#Next 5 days
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw ]]; then

    sed -i '/feed-tabs/,/\.feed-tabs/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw
    egrep -i 'icon i-|cond|temp|>Mo<|>Di<|>Mi<|>Do<|>Fr<|>Sa<|>So<' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/^.*#">//g' -e 's/^.*icon i-//g' -e 's/^.*cond">//g' -e 's/^.*temp">//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/TT<\/span> /\n/g' -e 's/<\/a>.*$//g' -e 's/ "><.*$//g' -e 's/&#.*$//g' -e 's/teo//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/<span>.*$//g' -e 's/<\/span>//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
   sed -i -e 's/Mo$/MONTAG/' -e 's/Di$/DIENSTAG/' -e 's/Mi$/MITTWOCH/' -e 's/Do$/DONNERSTAG/' -e 's/Fr$/FREITAG/' -e 's/Sa$/SAMSTAG/' -e 's/So$/SONNTAG/' -e 's/-[a-z]$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    for (( i=2; i<=22; i+=5 ))
     do
          image=$(sed -n "${i}"p $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days)
         sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
     done

fi

kill -CONT $(pidof conky)


Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 18:27
von lula
Code: Alles auswählen
#!/bin/bash

width=40
while read line; do
  if [ $(echo "$line" | wc -m) -gt $width ]; then
    echo "$line" | fold -s -w $width
  else
    echo "$line"
    echo ""
  fi
done


Könnte man z. B. so machen: Das Skript oben speichern z.B. unter $HOME/bin/fold40.sh und ausführbar machen mit
Code: Alles auswählen
chmod +x $HOME/bin/fold40.sh
Dann aufrufen mit
Code: Alles auswählen
cat Eingabedatei | $HOME/bin/fold40.sh > Ausgabedatei
funktioniert dann quasi als Filter

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 19:11
von AndieY
unklar hat geschrieben:Ich habe es getestet - funktioniert einwandfrei.
bist du dir sicher, ich sehe mindestens einen Fehler............sollte dir auch auffallen, habe das Problem schon mal erwähnt...................... Aber die Zeile mit Umlauten hat er schön gemacht, besser als meine, muss man Neidlos zugeben.

@lula Danke schön, bin mir aber nicht sicher ob ich es noch brauche, mir ist zwischenzeitlich eine alternativ Lösung eingefallen.

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 19:38
von unklar
AndieY hat geschrieben:
unklar hat geschrieben:Ich habe es getestet - funktioniert einwandfrei.
bist du dir sicher, ich sehe mindestens einen Fehler.....
Naja, hau dir nicht so an die Brust... ;)
Der Fehler ist schon in Arbeit. Er trat bei mir nach 18.00 Uhr auf. Teo hatte ja auch geschrieben:
Just monitor it, especially later tonight, as I haven't tested it for tonight/early am conditions.

1a_Deutsch4nach18UHR.jpg


Und jetzt
Try with this
and keep monitoring.
Thanks for the feedback.
ÜBERSETZUNG
Versuchen Sie, mit diesem
und halten Sie die Überwachung.
Danke für das Feedback.
Code: Alles auswählen
#!/bin/bash

#function: test_image
test_image () {
    case $1 in
         1)
           echo a
         ;;
         2|3)
           echo b
         ;;
         4|5)
           echo c
         ;;
         6)
           echo d
         ;;
         7)
           echo e
         ;;
         8)
           echo f
         ;;
         11)
           echo 0
         ;;
         12)
           echo h
         ;;
         13|14)
           echo g
         ;;
         15)
           echo m
         ;;
         16|17)
           echo k
         ;;
         18)
           echo i
         ;;
         19)
           echo q
         ;;
         20|21|23)
           echo o
         ;;
         22)
           echo r
         ;;
         24|31)
           echo E
         ;;
         25)
           echo v
         ;;
         26)
           echo x
         ;;
         29)
           echo y
         ;;
         30)
           echo 5
         ;;
         32)
           echo 6
         ;;
         33)
           echo A
         ;;
         34|35)
           echo B
         ;;
         36|37)
           echo C
         ;;
         38)
           echo D
         ;;
         39|40)
           echo G
         ;;
         41|42)
           echo K
         ;;
         43|44)
           echo O
         ;;
         *)
         echo -
       ;;   
        esac
}


kill -STOP $(pidof conky)
killall wget

#put your Accuweather address here
address="http://www.accuweather.com/de/de/berlin/10178/weather-forecast/178087"
#address="http://www.accuweather.com/en/us/los-angeles-ca/90012/weather-forecast/347625"

loc_id=$(echo $address|sed 's/\/weather-forecast.*$//'|sed 's/^.*\///')
last_number=$(echo $address|sed 's/^.*\///')

curr_addr="$(echo $address|sed 's/weather-forecast.*$//')"current-weather/"$last_number"
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw "$curr_addr"

addr1="$(echo $address|sed 's/weather-forecast.*$//')"daily-weather-forecast/"$last_number"
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw "$addr1"

addr2="$addr1"?day=6
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw "$addr2"

#current conditions
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw ]]; then

    sed -i '/detail-now/,/#details/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw
    egrep -i '"cond"|icon i-|detail-tab-panel' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/^.*detail-tab-panel //g' -e 's/^.*icon i-//g' -e 's/"><\/div>.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/^.*"cond">//g' -e 's/&deg/\n/g' -e 's/<\/span>.*"temp">/\n/g' -e 's/<.*>//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/">//g' -e 's/-->//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' -e 's/-[a-z].*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
   
    image=$(sed -n 2p $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond)
    sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond

fi

#First 5 days
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw ]]; then

    sed -i '/feed-tabs/,/\.feed-tabs/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw
    egrep -i 'Abend|Heute|H abd|Nacht|icon i-|cond|temp|>Mo<|>Di<|>Mi<|>Do<|>Fr<|>Sa<|>So<' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/^.*#">//g' -e 's/^.*icon i-//g' -e 's/^.*cond">//g' -e 's/^.*temp">//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/TT<\/span> /\n/g' -e 's/<\/a>.*$//g' -e 's/ "><.*$//g' -e 's/&#.*$//g' -e 's/teo//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/<span>.*$//g' -e 's/<\/span>//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   sed -i -e 's/Heute/HEUTE/' -e 's/H abd/HEUTE ABEND/' -e 's/Mo$/MONTAG/' -e 's/Di$/DIENSTAG/' -e 's/Mi$/MITTWOCH/' -e 's/Do$/DONNERSTAG/' -e 's/Fr$/FREITAG/' -e 's/Sa$/SAMSTAG/' -e 's/So$/SONNTAG/' -e 's/-[a-z]$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    time=$(sed -n 1p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
    image=$(sed -n 2p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
   if [[ $time == HEUTE ]]; then
       sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   elif [[ $time == ABEND || $time == NACHT || $time == "HEUTE ABEND" ]]; then
       sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
        sed -i 3a- $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   fi
    for (( i=7; i<=22; i+=5 ))
     do
          image=$(sed -n "${i}"p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
         sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
     done

fi

#Next 5 days
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw ]]; then

    sed -i '/feed-tabs/,/\.feed-tabs/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw
    egrep -i 'icon i-|cond|temp|>Mo<|>Di<|>Mi<|>Do<|>Fr<|>Sa<|>So<' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/^.*#">//g' -e 's/^.*icon i-//g' -e 's/^.*cond">//g' -e 's/^.*temp">//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/TT<\/span> /\n/g' -e 's/<\/a>.*$//g' -e 's/ "><.*$//g' -e 's/&#.*$//g' -e 's/teo//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/<span>.*$//g' -e 's/<\/span>//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
   sed -i -e 's/Mo$/MONTAG/' -e 's/Di$/DIENSTAG/' -e 's/Mi$/MITTWOCH/' -e 's/Do$/DONNERSTAG/' -e 's/Fr$/FREITAG/' -e 's/Sa$/SAMSTAG/' -e 's/So$/SONNTAG/' -e 's/-[a-z]$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    for (( i=2; i<=22; i+=5 ))
     do
          image=$(sed -n "${i}"p $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days)
         sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
     done

fi

kill -CONT $(pidof conky)


Ich kann mich nicht beklagen. 8-)

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 6th, '15, 20:04
von unklar
Bei mir OK
1a_DeutschRepariert.jpg

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 7th, '15, 00:44
von unklar
Wieder 6 Std. später ist der Fehler erneut da.
Teo weiß Bescheid.
Ich würde ja einfach diesen Wechsel - HEUTE - HEUTE ABEND - NACHTS 'rauslassen...
1a_Deutsch3Repariert.jpg

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 7th, '15, 11:29
von unklar
Neues Spiel, neues Glück..
Code: Alles auswählen
#!/bin/bash

#function: test_image
test_image () {
    case $1 in
         1)
           echo a
         ;;
         2|3)
           echo b
         ;;
         4|5)
           echo c
         ;;
         6)
           echo d
         ;;
         7)
           echo e
         ;;
         8)
           echo f
         ;;
         11)
           echo 0
         ;;
         12)
           echo h
         ;;
         13|14)
           echo g
         ;;
         15)
           echo m
         ;;
         16|17)
           echo k
         ;;
         18)
           echo i
         ;;
         19)
           echo q
         ;;
         20|21|23)
           echo o
         ;;
         22)
           echo r
         ;;
         24|31)
           echo E
         ;;
         25)
           echo v
         ;;
         26)
           echo x
         ;;
         29)
           echo y
         ;;
         30)
           echo 5
         ;;
         32)
           echo 6
         ;;
         33)
           echo A
         ;;
         34|35)
           echo B
         ;;
         36|37)
           echo C
         ;;
         38)
           echo D
         ;;
         39|40)
           echo G
         ;;
         41|42)
           echo K
         ;;
         43|44)
           echo O
         ;;
         *)
         echo -
       ;;   
        esac
}


kill -STOP $(pidof conky)
killall wget

#put your Accuweather address here
address="http://www.accuweather.com/de/us/anchorage-ak/99501/weather-forecast/346835"
#address="http://www.accuweather.com/en/us/los-angeles-ca/90012/weather-forecast/347625"

loc_id=$(echo $address|sed 's/\/weather-forecast.*$//'|sed 's/^.*\///')
last_number=$(echo $address|sed 's/^.*\///')

curr_addr="$(echo $address|sed 's/weather-forecast.*$//')"current-weather/"$last_number"
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw "$curr_addr"

addr1="$(echo $address|sed 's/weather-forecast.*$//')"daily-weather-forecast/"$last_number"
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw "$addr1"

addr2="$addr1"?day=6
wget -O $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw "$addr2"

#current conditions
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw ]]; then

    sed -i '/detail-now/,/#details/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw
    egrep -i '"cond"|icon i-|detail-tab-panel' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/^.*detail-tab-panel //g' -e 's/^.*icon i-//g' -e 's/"><\/div>.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/^.*"cond">//g' -e 's/&deg/\n/g' -e 's/<\/span>.*"temp">/\n/g' -e 's/<.*>//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
    sed -i -e 's/">//g' -e 's/-->//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' -e 's/-[a-z].*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond
   
    image=$(sed -n 2p $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond)
    sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/curr_cond

fi

#First 5 days
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw ]]; then

    sed -i '/feed-tabs/,/\.feed-tabs/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw
    egrep -i 'Abend|Heute|H abd|Nacht|icon i-|cond|temp|>Mo<|>Di<|>Mi<|>Do<|>Fr<|>Sa<|>So<' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/^.*#">//g' -e 's/^.*icon i-//g' -e 's/^.*cond">//g' -e 's/^.*temp">//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/TT<\/span> /\n/g' -e 's/<\/a>.*$//g' -e 's/ "><.*$//g' -e 's/&#.*$//g' -e 's/teo//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    sed -i -e 's/<span>.*$//g' -e 's/<\/span>//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   sed -i -e 's/Nachts/NACHTS/' -e 's/Heute/HEUTE/' -e 's/H abd/HEUTE ABEND/' -e 's/Mo$/MONTAG/' -e 's/Di$/DIENSTAG/' -e 's/Mi$/MITTWOCH/' -e 's/Do$/DONNERSTAG/' -e 's/Fr$/FREITAG/' -e 's/Sa$/SAMSTAG/' -e 's/So$/SONNTAG/' -e 's/-[a-z]$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
    time=$(sed -n 1p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
    image=$(sed -n 2p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
   if [[ $time == HEUTE ]]; then
       sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   elif [[ $time == ABEND || $time == NACHT || $time == "HEUTE ABEND" || $time == NACHTS ]]; then
       sed -i 2s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
        sed -i 3a- $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
   fi
    for (( i=7; i<=22; i+=5 ))
     do
          image=$(sed -n "${i}"p $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton)
         sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/tod_ton
     done

fi

#Next 5 days
if [[ -s $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw ]]; then

    sed -i '/feed-tabs/,/\.feed-tabs/!d' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw
    egrep -i 'icon i-|cond|temp|>Mo<|>Di<|>Mi<|>Do<|>Fr<|>Sa<|>So<' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days_raw > $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/&#246\;/ö/g' -e 's/&#228\;/ä/g' -e 's/&#252\;/ü/g' -e 's/&#196\;/Ä/g' -e 's/&#214\;/Ö/g' -e 's/&#220\;/Ü/g' -e 's/&#223\;/ß/g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/^.*#">//g' -e 's/^.*icon i-//g' -e 's/^.*cond">//g' -e 's/^.*temp">//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/TT<\/span> /\n/g' -e 's/<\/a>.*$//g' -e 's/ "><.*$//g' -e 's/&#.*$//g' -e 's/teo//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    sed -i -e 's/<span>.*$//g' -e 's/<\/span>//g' -e 's/\r$//g' -e 's/ i-alarm.*$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
   sed -i -e 's/Mo$/MONTAG/' -e 's/Di$/DIENSTAG/' -e 's/Mi$/MITTWOCH/' -e 's/Do$/DONNERSTAG/' -e 's/Fr$/FREITAG/' -e 's/Sa$/SAMSTAG/' -e 's/So$/SONNTAG/' -e 's/-[a-z]$//g' $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
    for (( i=2; i<=22; i+=5 ))
     do
          image=$(sed -n "${i}"p $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days)
         sed -i ${i}s/$image/$(test_image $image)/ $HOME/1a_accuweather_conkyweather_font_Deutsch/last_days
     done

fi

kill -CONT $(pidof conky)

Re: Conky:Accuweather-Script eindeutschen

BeitragVerfasst: Dez 7th, '15, 13:59
von unklar
Wenn ich davon ausgehe, dass die Wechsel-Zeiten sind:
6.00 > 12.00 > 18.00 > 24/0.00 Uhr
dann hat der von 6 nach 12 bei mir schon einwandfrei geklappt.