Login Hasło

#1 2008.07.24 20:14:35

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Pogodynka 0.4alpha

Oto testowa wersja nowej pogodynki (z przeskokiem nad porzuconą "gałęzią' 0.3)

Kod:

#!/bin/bash

## Pogodynka 0.4alpha
## http://pogodynka.fluxboxpl.org/
## Pawel "azhag" Sadkowski <azhag@fluxboxpl.org>
##
## License: GNU GPLv2 (or higher)

## Default city code
CODE="PLXX0028"

## Output format, available variables:
## %STATE       Cast in english
## %STATEPL     Cast in polish
## %TEMP        Temperature
## %FTEMP       Fells like temperature
## %PRSSR       Pressure
## %WIND        Direction, speed of wind
## %HMDT        Humidity
## %SUNRS       Sunrise
## %SUNST       Sunset
## %ICON        Weather icon for conky (weather.ttf needed)
## %TEMPICON    Temperature icon
## Use '\n' to brake line

FORMAT="%STATE\nTemperature: %TEMPC"

## Read variables from config, if exists
if [ -a $HOME/.pogodynka.rc ]; then
    eval $(awk -F'=' '/.+=.+/{
         if ( $1 == "CODE" || $1 == "FORMAT" || $1 == "ICONSIZE" )
         print $1 "=" $2
         }' $HOME/.pogodynka.rc)
fi

## Flags
case $1 in
## Halp!
    '-h') cat <<EOF
pogodynka v.0.4alpha
http://pogodynka.fluxboxpl.org

Usage:
    -h       -- this help
    -c code  -- weather cast for entered code
    -l       -- list of available cities (polish only)
    city     -- weather cast for entered city (polish only)

EOF
    exit
    ;;
## List cities
    '-l') cat <<EOF
Available cities:
    bialystok           olesnica
    brzeg               otwock
    chojnice            plock
    czestochowa         police
    elblag              poznan
    gdansk              pruszkow
    gdynia              przemysl
    goleniow            rybnik
    gorzow_wlkp         siedlce
    hel                 sopot
    kalisz              sosnowiec
    katowice            swinoujscie
    ketrzyn             szczecin
    kielce              tarnow
    klodzko             torun
    kolobrzeg           tychy
    koszalin            warszawa
    krakow              wroclaw
    leba                zabrze
    legnica             zamosc
    lodz                zielona_gora
    lublin              
    lublin_radawiec     zatoka_pomorska
    malczyce            poludniowy_baltyk
    mlawa               sniezka
EOF
    exit
    ;;
## City code from variables
    'bialystok')    CODE='PLXX0038' ;;
    'brzeg')        CODE='PLXX0001' ;;
    'chojnice')     CODE='PLXX0035' ;;
    'czestochowa')  CODE='PLXX0002' ;;
    'elblag')       CODE='PLXX0004' ;;
    'gdansk')       CODE='PLXX0005' ;;
    'gdynia')       CODE='PLXX0006' ;;
    'goleniow')     CODE='PLXX0007' ;;
    'gorzow_wlkp')  CODE='PLXX0008' ;;
    'hel')          CODE='PLXX0033' ;;
    'kalisz')       CODE='PLXX0009' ;;
    'katowice')     CODE='PLXX0010' ;;
    'ketrzyn')      CODE='PLXX0055' ;;
    'kielce')       CODE='PLXX0011' ;;
    'klodzko')      CODE='PLXX0047' ;;
    'kolobrzeg')    CODE='PLXX0054' ;;
    'koszalin')     CODE='PLXX0031' ;;
    'krakow')       CODE='PLXX0012' ;;
    'leba')         CODE='PLXX0032' ;;
    'legnica')      CODE='PLXX0013' ;;
    'lodz')         CODE='PLXX0014' ;;
    'lublin')       CODE='PLXX0049' ;;
    'lublin_radawiec') CODE='PLXX0045' ;;
    'malczyce')     CODE='PLXX0015' ;;
    'mlawa')        CODE='PLXX0037' ;;
    'olesnica')     CODE='PLXX0016' ;;
    'otwock')       CODE='PLXX0017' ;;
    'plock')        CODE='PLXX0018' ;;
    'police')       CODE='PLXX0019' ;;
    'poznan')       CODE='PLXX0040' ;;
    'pruszkow')     CODE='PLXX0020' ;;
    'przemysl')     CODE='PLXX0050' ;;
    'rybnik')       CODE='PLXX0021' ;;
    'siedlce')      CODE='PLXX0042' ;;
    'sopot')        CODE='PLXX0053' ;;
    'sosnowiec')    CODE='PLXX0022' ;;
    'swinoujscie')  CODE='PLXX0024' ;;
    'szczecin')     CODE='PLXX0025' ;;
    'tarnsw')       CODE='PLXX0026' ;;
    'torun')        CODE='PLXX0036' ;;
    'tychy')        CODE='PLXX0027' ;;
    'warszawa')     CODE='PLXX0028' ;;
    'wroclaw')      CODE='PLXX0029' ;;
    'zabrze')       CODE='PLXX0030' ;;
    'zamosc')       CODE='PLXX0048' ;;
    'zielona_gora') CODE='PLXX0043' ;;
    'zatoka_pomorska') CODE='PLXX0051' ;;
    'poludniowy_bałtyk') CODE='PLXX0052' ;;
    'sniezka')      CODE='PLXX0046' ;;
## Weather cast for entered code
    '-c')        CODE="$2" ;;
## No arguments -- just run the script
    '') ;;
## None from above -> error
    *)    cat <<EOF
Error.
Use -h for help.
EOF
    exit
    ;;
esac

## check if weather server is available
if ! ping -c1 weather.yahoo.com &>/dev/null; then
## It's not, finish
    echo 'Service not available'
    exit 1;
fi
## It is, fetch weather cast
FILE=/tmp/weather.cast
w3m -dump 'http://weather.yahoo.com/forecast/'$CODE'_c.html' | grep -A21 'Current' | sed 's/DEG/°/g' > $FILE

## Set Variables
STATE=$(sed -n '3p' $FILE)
TEMP=$(tail -n1 $FILE | awk '{print $1}')
FTEMP=$(sed -n '6p' $FILE)
PRSSR=$(sed -n '8p' $FILE)
WIND=$(sed -n '16p' $FILE)
HMDT=$(sed -n '10p' $FILE)
SUNRS=$(sed -n '18p' $FILE)
SUNST=$(sed -n '20p' $FILE)
SUNRSM=$(echo $SUNRS | awk -F  ':' '{print $1*60+$2}')
SUNSTM=$(echo $SUNST | awk -F  ':' '{print ($1+12)*60+$2}')
CURM=$(date +%R | awk -F ':' '{print $1*60+$2}')

## Translate weather casts to polish
## and set icon symbol
seticonsymbol() {
    if [ $CURM -gt $SUNRSM ] && [ $CURM -lt $SUNSTM ]; then
        ICON=$1
    else
    ICON=$2
    fi
}
case "$STATE" in
    'Sunny') STATEPL='Słonecznie'
    seticonsymbol C O ;;
    'Clear') STATEPL='Przejrzyście'
    seticonsymbol C O ;;
    'Fair') STATEPL='Pogodnie'
    seticonsymbol C O ;;
    'Sunny/Windy') STATEPL='Słonecznie/Wiatr'
    seticonsymbol C O ;;
    'Clear/Windy') STATEPL='Przejrzyście/Wiatr'
    seticonsymbol C O ;;
    'Fair/Windy') STATEPL='Przejrzyście/Wiatr'
    seticonsymbol C O ;;
    'Windy') STATEPL='Wiatr'
    seticonsymbol w w ;;
    'Partly Cloudy') STATEPL='Częściowo pochmurnie'
    seticonsymbol c m ;;
    'Partly Cloudy and Windy') STATEPL='Częściowo pochmurnie/Wiatr'
    seticonsymbol c m ;;
    'Partly Sunny') STATEPL='Częściowo słonecznie'
    seticonsymbol b m ;;
    'Mostly Clear') STATEPL='Przew. przejrzyście'
    seticonsymbol b m ;;
    'Partly Sunny/Windy') STATEPL='Częściowo słonecznie/Wiatr'
    seticonsymbol b m ;;
    'Mostly Clear/Windy') STATEPL='Przew. przejrzyście/Wiatr'
    seticonsymbol b m ;;
    'Mostly Sunny') STATEPL='Przew. płonecznie'
    seticonsymbol b m ;;
    'Mostly Sunny/Windy') STATEPL='Przew. słonecznie/Wiatr'
    seticonsymbol b m ;;
    'Scattered Clouds') STATEPL='Rzadkie obłoki'
    seticonsymbol b m ;;
    'Cloudy') STATEPL='Pochmurnie'
    seticonsymbol = n ;;
    'Overcast') STATEPL='Całk. zachmurzenie'
    seticonsymbol d  n ;;
    'Cloudy/Windy') STATEPL='Pochmurnie/Wiatr'
    seticonsymbol = n ;;
    'Overcast/Windy') STATEPL='Całk. zachmurzenie/Wiatr'
    seticonsymbol d n ;;
    'Mostly Cloudy/Windy') STATEPL='Przew. pochmurnie/Wiatr'
    seticonsymbol d n ;;
    'Mostly Cloudy') STATEPL='Przew. pochmurnie'
    seticonsymbol d n ;;
    'Am Clouds / Pm Sun') STATEPL='Ranek pochmurny/Słoneczne popołudnie'
    seticonsymbol b O ;;
    'Light Drizzle') STATEPL='Lekka mżawka'
    seticonsymbol g q ;;
    'Drizzle') STATEPL='Mżawka'
    seticonsymbol g q ;;
    'Light Rain') STATEPL='Lekki deszcz'
    seticonsymbol g q ;;
    'Rain') STATEPL='Deszcz'
    seticonsymbol h r ;;
    'Heavy Rain') STATEPL='Ulewa'
    seticonsymbol h r ;;
    'Light Rain/Fog') STATEPL='Lekki deszcz/Mgła'
    seticonsymbol g q ;;
    'Rain/Fog') STATEPL='Deszcz/Mgła'
    seticonsymbol h r ;;
    'Light Drizzle/Windy') STATEPL='Lekka mżawka/Wiatr'
    seticonsymbol g q ;;
    'Drizzle/Windy') STATEPL='Mżawka/Wiatr'
    seticonsymbol g q ;;
    'Light Rain/Windy') STATEPL='Lekki deszcz/Wiatr'
    seticonsymbol g q ;;
    'Rain/Windy') STATEPL='Deszcz/Wiatr'
    seticonsymbol h r ;;
    'Rain / Wind') STATEPL='Deszcz/Wiatr'
    seticonsymbol h r ;;
    'Heavy Rain/Windy') STATEPL='Ulewa/Wiatr'
    seticonsymbol h r ;;
    'AM Light Rain') STATEPL='Ranny lekki deszcz'
    seticonsymbol g q ;;
    'PM Light Rain') STATEPL='Popołudniowy lekki deszcz'
    seticonsymbol g q ;;
    'Pm Light Rain') STATEPL='Popołudniowy lekki deszcz'
    seticonsymbol g q ;;
    'AM Light Rain/Windy') STATEPL='Ranny lekki deszcz/Wiatr'
    seticonsymbol g q ;;
    'PM Light Rain/Windy') STATEPL='Popołudniowy lekki deszcz/Wiatr'
    seticonsymbol g q ;;
    'Rain Shower') STATEPL='Przelotny deszcz'
    seticonsymbol h r ;;
    'Shower') STATEPL='Przelotna ulewa'
    seticonsymbol h r ;;
    'Showers') STATEPL='Przelotna ulewa'
    seticonsymbol h r ;;
    'Heavy Rain Shower') STATEPL='Mocna ulewa'
    seticonsymbol h r ;;
    'Heavy Rain Shower/Windy') STATEPL='Mocna ulewa/Wiatr'
    seticonsymbol h r ;;
    'Light Rain Shower') STATEPL='Lekka ulewa'
    seticonsymbol h r ;;
    'AM Shower') STATEPL='Poranna ulewa'
    seticonsymbol h r ;;
    'AM Showers') STATEPL='Poranna ulewa'
    seticonsymbol h r ;;
    'Am Showers') STATEPL='Poranna ulewa'
    seticonsymbol h r ;;
    'AM Showers / Wind') STATEPL='Poranna ulewa/Wiatr'
    seticonsymbol h r ;;
    'PM Shower') STATEPL='Popołudniowa ulewa'
    seticonsymbol h r ;;
    'PM Showers / Wind') STATEPL='Popołudniowe ulewy/Wiatr'
    seticonsymbol h r ;;
    'Few Showers / Wind') STATEPL='Przelotne deszcze/Wiatr'
    seticonsymbol h r ;;
    'Showers / Wind') STATEPL='Deszcze/Wiatr'
    seticonsymbol h r ;;
    'PM Showers') STATEPL='Popołudniowe ulewy'
    seticonsymbol h r ;;
    'Pm Showers') STATEPL='Popołudniowe ulewy'
    seticonsymbol h r ;;
    'Scattered Shower') STATEPL='Rozległa ulewa'
    seticonsymbol h r ;;
    'Scattered Showers') STATEPL='Rozległe ulewy'
    seticonsymbol h r ;;
    'Scatter Showers') STATEPL='Rozległe ulewy'
    seticonsymbol h r ;;
    'Rain Shower/Windy') STATEPL='Przelotny deszcz/Wiatr'
    seticonsymbol h r ;;
    'Shower/Windy') STATEPL='Przelotna ulewa/Wiatr'
    seticonsymbol h r ;;
    'Light Rain Shower/Windy') STATEPL='Lekka ulewa/Wiatr'
    seticonsymbol g q;;
    'AM Shower/Windy') STATEPL='Poranna ulewa/Wiatr'
    seticonsymbol h r ;;
    'PM Shower/Windy') STATEPL='Popołudniowa ulewa/Wiatr'
    seticonsymbol h r ;;
    'Scattered Shower/Windy') STATEPL='Rozległa ulewa/Wiatr'
    seticonsymbol h r ;;
    'Scatter Showers / Wind') STATEPL='Rozległe ulewy/Wiatr'
    seticonsymbol h r ;;
    'Few Showers') STATEPL='Możliwe ulewy'
    seticonsymbol h r ;;    
    'Few Showers/Windy') STATEPL='Możliwe ulewy/Wiatr'
    seticonsymbol h r ;;    
    'Showers in the Vicinity') STATEPL='Pobliskie ulewy'
    seticonsymbol h r ;;
    'Light Snow') STATEPL='Lekki śnieg'
    seticonsymbol k u ;;
    'Snow') STATEPL='Śnieg'
    seticonsymbol j t ;;        
    'Snow / Wind') STATEPL='Śnieg/Wiatr'
    seticonsymbol j t ;;
    'Heavy Snow') STATEPL='Mocny śnieg'
    seticonsymbol j t ;;
    'Light Snow Pellets') STATEPL='Lekki grad śnieżny'
    seticonsymbol k u ;;
    'Snow Pellets') STATEPL='Grad śnieżny'
    seticonsymbol j t ;;
    'Light Ice Pellets') STATEPL='Lekki grad lodowy'
    seticonsymbol k u ;;
    'Ice Pellets') STATEPL='Grad lodowy'
    seticonsymbol j t ;;
    'Wintery Weather') STATEPL='Zimowa pogoda'
    seticonsymbol j t ;;
    'Light Freezing Rain') STATEPL='Lekki zamarzająy deszcz'
    seticonsymbol g q ;;        
    'Freezing Rain') STATEPL='Zamarzający deszcz'
        seticonsymbol h r ;;    
    'Flurries/Windy') STATEPL='Zamiecie/Wiatr'
    seticonsymbol j t ;;
    'Light Flurries/Windy') STATEPL='Lekkie zamiecie/Wiatr'
    seticonsymbol k u ;;
    'Light Snow/Windy') STATEPL='Lekki śnieg/Wiatr'
    seticonsymbol k u ;;
    'Light Snow / Wind') STATEPL='Lekki śnieg/Wiatr'
    seticonsymbol k u ;;
    'Snow/Windy') STATEPL='Śnieg/Wiatr'
    seticonsymbol j t ;;
    'Heavy Snow/Windy') STATEPL='Mocny śnieg/Wiatr'
    seticonsymbol j t ;;
    'Light Snow Pellets/Windy') STATEPL='Lekki grad śnieżny/Wiatr'
    seticonsymbol k u ;;
    'Snow Pellets/Windy') STATEPL='Grad śnieżny/Wiatr'
    seticonsymbol j t ;;
    'Light Ice Pellets/Windy') STATEPL='Lekki grad lodowy/Wiatr'
    seticonsymbol k u ;;
    'Ice Pellets/Windy') STATEPL='Grad lodowy/Wiatr'
    seticonsymbol j t ;;
    'Light Freezing Rain/Windy') STATEPL='Lekki zamarzający deszcz/Wiatr'
    seticonsymbol k u ;;
    'Freezing Rain/Windy') STATEPL='Zamarzający deszcz/Wiatr'
    seticonsymbol h r ;;
    'Wintery Mix') STATEPL='Miks zimowy'
    seticonsymbol j t ;;
    'Light Snow Grains') STATEPL='Lekkie granulki śniegu'
    seticonsymbol k u ;;
    'Snow Grains') STATEPL='Granulki śniegu'
    seticonsymbol j t ;;
    'Rain/Snow') STATEPL='Śnieg z deszczem'
    seticonsymbol k u ;;
    'Rain / Snow Showers') STATEPL='Deszcz ze śniegiem'
    seticonsymbol k u ;;
    'Rain / Snow') STATEPL='Deszcz ze śniegiem'
    seticonsymbol k u ;;
    'Rain / Thunder') STATEPL='Deszcz / Burza'
    seticonsymbol i p ;;        
    'Rain/Show/Windy') STATEPL='Śnieg z deszczem/Wiatr'
    seticonsymbol k u ;;
    'Rain / Snow / Wind') STATEPL='Śnieg z deszczem/Wiatr'
    seticonsymbol k u ;;
    'Light Rain/Freezing Rain') STATEPL='Lekki deszcz/Zamarzający deszcz'
    seticonsymbol g q ;;        
    'Rain/Freezing Rain') STATEPL='Deszcz/Zamarzający deszcz'
    seticonsymbol h r ;;
    'Light Rain/Freezing Rain/Windy') STATEPL='Lekki deszcz/Zamarzający Deszcz/Wiatr'
    seticonsymbol g q ;;
    'Rain/Freezing Rain/Windy') STATEPL='Deszcz/Zamarzający deszcz/Wiatr'
    seticonsymbol h r ;;
    'AM Snow') STATEPL='Poranny śnieg'
    seticonsymbol j t ;;
    'AM Snow') STATEPL='Popołudniowy śnieg'
    seticonsymbol j t ;;
    'AM Light Snow') STATEPL='Poranny lekki śnieg'
    seticonsymbol k u ;;
    'PM Light Snow') STATEPL='Popołudniowy lekki śnieg'
    seticonsymbol k u ;;
    'Ice Crystals') STATEPL='Kryształki lodu'
    seticonsymbol j t ;;
    'Ice Crystals/Windy') STATEPL='Kryształki lodu/Wiatr'
    seticonsymbol j t ;;
    'Snow Showers') STATEPL='Burze śnieżne'
    seticonsymbol j t ;;
    'Snow Shower') STATEPL='Burza śnieżna'
    seticonsymbol j t ;;
    'Heavy Snow Shower') STATEPL='Mocna burza śnieżna'
    seticonsymbol j t ;;
    'Heavy Snow Shower/Windy') STATEPL='Mocna burza śnieżna/Wiatr'
    seticonsymbol j t ;;
    'PM Snow Showers') STATEPL='Popołudniowe burze śnieżne'
    seticonsymbol j t ;;
    'AM Snow Showers') STATEPL='Poranne burze śnieżne'
    seticonsymbol j t ;;
    'Rain/Snow Showers') STATEPL='Deszcz/Burze śnieżne'
    seticonsymbol j t ;;
    'Snow Showers/Windy') STATEPL='Burze śnieżne/Wiatr'
    seticonsymbol j t ;;
    'PM Snow Showers/Windy') STATEPL='Popołudniowe burze śnieżne/Wiatr'
    seticonsymbol j t ;;
    'AM Snow Showers/Windy') STATEPL='Poranne burze śnieżne/Wiatr'
    seticonsymbol j t ;;
    'Rain/Snow Showers/Windy') STATEPL='Deszcz/Burze śnieżne/Wiatr'
    seticonsymbol j t ;;
    'Light Snow Showers') STATEPL='Lekkie burze śnieżne'
    seticonsymbol k u ;;
    'Light Snow Shower') STATEPL='Lekka burza śnieżna'
    seticonsymbol k u ;;
    'Light Snow Showers/Windy') STATEPL='Lekkie burze śnieżne/Wiatr'
    seticonsymbol k u ;;
    'Flurries') STATEPL='Zamiecie'
    seticonsymbol j t ;;
    'Light Flurries') STATEPL='Lekkie zamiecie'
    seticonsymbol k u ;;
    'Scattered Flurries') STATEPL='Rozległe zamiecie'
    seticonsymbol j t ;;
    'Few Flurries') STATEPL='Możliwe zamiecie'
    seticonsymbol k u ;;
    'Few Flurries/Windy') STATEPL='Możliwe zamiecie/Wiatr'
    seticonsymbol k u ;;
    'Scattered Snow Showers') STATEPL='Rozległe burze śnieżne'
    seticonsymbol j t ;;
    'Scattered Snow Showers/Windy') STATEPL='Rozległe burze śnieżne/Wiatr'
    seticonsymbol j t ;;
    'Few Snow Showers') STATEPL='Możliwe burze śnieżne'
    seticonsymbol k u ;;
    'Few Snow Showers/Windy') STATEPL='Możliwe burze śnieżne/Wiatr'
    seticonsymbol j t ;;
    'Freezing Drizzle') STATEPL='Marznąca mżawka'
    seticonsymbol g q ;;
    'Light Freezing Drizzle') STATEPL='Lekka marznąca mżawka'
    seticonsymbol g q ;;
    'Freezing Drizzle/Windy') STATEPL='Marznąca mżawka/Wiatr'
    seticonsymbol g q ;;
    'Light Freezing Drizzle/Windy') STATEPL='Lekka marznąca mżawka/Wiatr'
    seticonsymbol g q ;;
    'Drifting Snow') STATEPL='Zawieja śnieżna'
    seticonsymbol j t ;;
    'Thunderstorms') STATEPL='Burze'
    seticonsymbol i s ;;
    'T-storms') STATEPL='Burze'
    seticonsymbol i s ;;
    'T-Storms') STATEPL='Burze'
    seticonsymbol i s ;;
    'T-Storm') STATEPL='Burza'
    seticonsymbol i s ;;
    'Scattered Thunderstorms') STATEPL='Rozległe burze'
    seticonsymbol i s ;;
    'Scattered T-Storms') STATEPL='Rozległe burze'
    seticonsymbol i s ;;
    'Thunderstorms/Windy') STATEPL='Burze/Wiatr'
    seticonsymbol i s ;;
    'Scattered Thunderstorms/Windy') STATEPL='Rozległe burze/Wiatr'
    seticonsymbol i s ;;
    'Rain/Thunder') STATEPL='Deszcz/Grzmoty'
    seticonsymbol i s ;;
    'Light Thunderstorms/Rain') STATEPL='Lekkie burze/Deszcz'
    seticonsymbol f p ;;
    'Thunderstorms/Rain') STATEPL='Burze/Deszcz'
    seticonsymbol i s ;;
    'Light Rain with Thunder') STATEPL='Lekki deszcz z grzmotami'
    seticonsymbol f p ;;
    'Rain with Thunder') STATEPL='Deszcz z grzmotami'
    seticonsymbol i s ;;
    'Thunder in the Vicinity') STATEPL='Pobliskie burze'
    seticonsymbol f p ;;
    'Rain and Snow') STATEPL='Deszcze ze śniegiem'
    seticonsymbol k u ;;
    'Fog') STATEPL='Mgła'
    seticonsymbol U V ;;
    'Haze') STATEPL='Lekka mgła'
    seticonsymbol U V ;;
    'Mist') STATEPL='Lekkie zamglenie'
    seticonsymbol U V ;;
    'Fog/Windy') STATEPL='Mgła/Wiatr'
    seticonsymbol U V ;;
    'Haze/Windy') STATEPL='Lekka Mgła/Wiatr'
    seticonsymbol U V ;;
    'Mist/Windy') STATEPL='Lekkie zamglenie/Wiatr'
    seticonsymbol U V ;;
    'Partial Fog') STATEPL='Częściowa mgła'
    seticonsymbol U V ;;
    'Smoke') STATEPL='Gęsta mgła'
    seticonsymbol U V ;;
    'Foggy') STATEPL='Mglisto'
    seticonsymbol U V ;;
    'AM Fog/PM Sun') STATEPL='Ranna mgła/Popołudniowe słońce'
    seticonsymbol U V ;;
    'Shallow Fog') STATEPL='Płytka mgła'
    seticonsymbol U V ;;
    'Blowing Dust') STATEPL='Zawieja pyłowa'
    seticonsymbol v v ;;
    'Blowing Sand') STATEPL='Zawieja piaskowa'
    seticonsymbol v v ;;
    'Duststorm') STATEPL='Burza piaskowa'
    seticonsymbol v v ;;
    'Wind') STATEPL='Wiatr'
    seticonsymbol w w ;;
    'Widespread Dust/Windy') STATEPL='Rozległe zamiecie/Wiatr'
    seticonsymbol v v ;;
    'Widespread Dust') STATEPL='Rozległe zamiecie'
    seticonsymbol v v ;;
    'Low Drifting Sand') STATEPL='Zawieja piaskowa'
    seticonsymbol v v ;;
    'Data Not Available') STATEPL='Dane niedostępne'
    seticonsymbol ? ? ;;
    'N/A') STATEPL='N/D'
    seticonsymbol ? ? ;;
    'N/a') STATEPL='N/d'
    seticonsymbol ? ? ;;
    *) STATEPL=$STATE
    seticonsymbol ? ? ;;
esac

## Set icon symbol
if [ -z $ICONSIZE ]; then
    WEATHERFONT="weather"
else
    WEATHERFONT="weather:size=$ICONSIZE"
fi
TEMP2=$(echo "$TEMP" | sed "s/°//g")
if [ $TEMP2 -gt 25 ]; then
    TEMPICON=z
elif [ $TEMP2 -lt 5 ]; then
    TEMPICON=x
else
    TEMPICON=y
fi
        
## Transform FORMAT
FORMAT2=$(echo -e  $FORMAT \
    | sed "s/%STATEPL/$STATEPL/g;\
           s/%STATE/$STATE/g;\
           s/%TEMPICON/\${font $WEATHERFONT}$TEMPICON\${font}/g;\
       s/%FTEMP/$FTEMP/g;\
       s/%TEMP/$TEMP/g;\
       s/%PRSSR/$PRSSR/g;\
       s/%WIND/$WIND/g;\
       s/%HMDT/$HMDT/g;\
       s/%SUNRS/$SUNRS/g;\
       s/%SUNST/$SUNST/g;\
       s/%ICON/\${font $WEATHERFONT}$ICON\${font}/g")

## Return weather cast and clean
echo -e "$FORMAT2"
rm $FILE

do pobrania: http://azhag.fluxboxpl.org/duperele/pogodynka.gz

Najważniejsze zmiany:
- przepisane flagi uruchomieniowe, można podać miasto (tylko polskie) jako argument, można podać kod jako argument
- dodano konfig ~/.pogodynka.rc (nie trzeba (będzie?) w skrypcie nic wpisywać na sztywno, można skrypt wrzucić gdzieś w $PATH) (wielkie dzięki dla uruga z DUG-a za pomoc)
- dodane "graficzne" "ikonki" dla conky'ego
- "odsłomienie" kodu

przykłądowy konfig wygląda tak:

Kod:

CODE="PLXX0012"
FORMAT="%ICON %STATEPL\n %TEMPICON %TEMPC"
ICONSIZE=30

CODE — wiadomo
FORMAT — format wyniku, opisy zmiennych na początku skryptu
ICONSIZE — rozmiar ikonek w conky'm

Najciekawszą funkcją są chyba "ikonki" — na razie jest to bardzo testowa funkcja. żeby z niej korzystać należy używać w conky'm czcionek xft i posiadać czcionkę weather.ttf (najprosciej wrzucić do ~/.fonts/). W praktyce wyglądają tak:
http://azhag.fluxboxpl.org/duperele/pogodynka_icons.png
http://azhag.fluxboxpl.org/duperele/pogodynka_icons2.png

Tu akurat nie wyszło to przesadnie estetycznie, najlepiej się prezentują ciemną czcionką, na jasnym (zwłąszcza białym) tle. Ale z grubsza widać możliwości.
(sam pomysł ikonek podsunął mi ktoś mailem, niestety w tej chwili nie mam jak sprawdzić kto).

Jak ktoś lubi wyzwania, to zapraszam do testów. smile
Wszelkie uwag będą cenne.

--

Aha, jeśli chce się korzystać z "ikonek" należy pogodynkę uruchamiać w conky'm za pomocą funkcji execpi — inaczej nie sparsuje "conky'owego" kodu. Funkcja ta jest w conky'm od wersji 1.5.0.

Ostatnio edytowany przez azhag (2008.07.24 21:16:34)


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#2 2008.07.24 21:23:29

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: Pogodynka 0.4alpha

Chyba masz lekki problem z 'Ś' w Środa. wink
Btw, minąłeś już 512 postów tongue


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#3 2008.07.24 22:01:23

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

Moebius napisał(-a):

Chyba masz lekki problem z 'Ś' w Środa. wink

A to przez czcionki xft, jak je ustawię to polskie znaki lecą w kosmos. A bez nich nie byłoby "ikonek". Uroki nieużywania UTF.

Moebius napisał(-a):

Btw, minąłeś już 512 postów tongue

Że niby spamer? wink


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#4 2008.07.25 13:49:09

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: Pogodynka 0.4alpha

Żaden spammer, po prostu przeskoczyłeś równe 1000000000. wink
Btw, na utf8 "wcina" kawałki tekstu zawierające polskie litery.


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#5 2008.07.25 16:36:53

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

Moebius napisał(-a):

Btw, na utf8 "wcina" kawałki tekstu zawierające polskie litery.

tamta jest w iso8859-2 kodowana (jeśli pobrałeś pogodynka.gz)
wystarczy przekonwertować iconvem lub pobrać utfową wersję: http://azhag.fluxboxpl.org/duperele/pogodynka.utf8.gz

w conky'm musi być czcionka xft użyta:

Kod:

use_xft yes
xftfont "Bitstream Vera Sans Mono:size=10"

Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#6 2008.07.28 23:23:18

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

alpha2:
http://azhag.fluxboxpl.org/duperele/pogodynka.gz
http://azhag.fluxboxpl.org/duperele/pogodynka.utf8.gz

Zmiany:
- nowe zmienne:
  - BROWSER -- nareszcie można wybrać przeglądarkę, obecnie obsługiwane: w3m, links, lynx (są jeszcze jakieś tekstowe?)
  - LOWTEMP i HITEMP -- pozwalają określić granice niskiej i wysokiej temperatury dla ikonki termometru (w poprzedniej były wpisane na sztywno); muszą być liczbami całkowitymi
- kilka drobnych poprawek

nowe zmienne oczywiscie można wpisać w konfig

--

Moebius: problem w dalszym ciągu występuje?


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#7 2008.07.29 07:54:14

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: Pogodynka 0.4alpha

Oh, pardon, niestety update'uję system i nie miałem czasu się pobawić. wink
Jeszcze netrik z tekstowych przeglądarek: http://netrik.sourceforge.net/ ;D


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#8 2008.07.29 10:49:12

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

netrik niestety nie działa i działał nie będzie
działa za to elinks


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#9 2008.07.31 12:16:26

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: Pogodynka 0.4alpha

Polskie znaki działają. Za to problem jest z '/' w $STATE i $STATEPL, sed ich nie lubi.
Działa, jak się zmieni '/' na '\/'.


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#10 2008.08.02 18:08:37

modesto
Użytkownik
Zarejestrowany: 2008.07.28
Posty: 6

Re: Pogodynka 0.4alpha

aby uzyskać taki efekt jak przedstawił powyżej azhag męcze juz swojego fluxboxa conky i wszystko inne juz od paru dobrych dni i nic.....
ściągnąłem plik http://azhag.fluxboxpl.org/duperele/pogodynka.gz rozpakowalem do " ~/  " , zmieniłem kod na swoj

CODE='PLXX0010'

w conkyrc dopisałem

${color }${texeci 600 ~/pogodynka.sh}

podczas uruchamiania conky wyskakuje


sh: /home/modd/pogodynka: Permission denied

co robie nie tak ???? hmm

Offline

 

#11 2008.08.02 20:06:46

ilin
Palacz
Skąd: Siemianice
Zarejestrowany: 2008.01.02
Posty: 190
System: Debian Wheezy/Sid
Fluxbox: 1.3.5

Re: Pogodynka 0.4alpha

Nadaj prawa do wykonywania skryptowi z pogodynką.

Kod:

chmod +x /home/modd/pogodynka

Offline

 

#12 2008.08.03 09:06:40

modesto
Użytkownik
Zarejestrowany: 2008.07.28
Posty: 6

Re: Pogodynka 0.4alpha

ok poradzilem sobie dzieki http://forum.ubuntu.pl/showthread.php?t … =pogodynka  problem tkwil w samej ścieżce. pozdrawiam

Offline

 

#13 2008.08.04 16:06:59

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

modesto napisał(-a):

ok poradzilem sobie dzieki http://forum.ubuntu.pl/showthread.php?t … =pogodynka  problem tkwil w samej ścieżce. pozdrawiam

tylko na forum ubuntu roztrząsają o starej wersji skryptu smile


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#14 2008.12.12 17:56:02

małpa
Użytkownik
Zarejestrowany: 2008.12.11
Posty: 19
System: Debian Sid
Fluxbox:

Re: Pogodynka 0.4alpha

Czy istnieje możliwość wyświetlania godziny w formacie dwudziestoczterogodzinnym (wschód i zachód słońca)?
Można jakoś przesunąć wyniki do prawej krawędzi? Próbowałem zrobić to tak:

FORMAT="Wschód słońca: $alignr%SUNRS\nZachód słońca: $alignr%SUNST\n%STATEPL\nTemperatura:$alignr %TEMPC\nTempreratura odczuwalna:$alignr %FTEMP"

ale efekt jest marny.
Pozdrawiam.

Ostatnio edytowany przez małpa (2008.12.12 17:59:44)

Offline

 

#15 2008.12.12 19:01:17

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

małpa napisał(-a):

Czy istnieje możliwość wyświetlania godziny w formacie dwudziestoczterogodzinnym (wschód i zachód słońca)?

nie, przynajmniej na razie

małpa napisał(-a):

Można jakoś przesunąć wyniki do prawej krawędzi? Próbowałem zrobić to tak:

FORMAT="Wschód słońca: $alignr%SUNRS\nZachód słońca: $alignr%SUNST\n%STATEPL\nTemperatura:$alignr %TEMPC\nTempreratura odczuwalna:$alignr %FTEMP"

z uciekającym "$" powinno się dać (ja tak przesuwam w górę/dół), czyli \$alignr


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#16 2008.12.14 10:39:24

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

azhag napisał(-a):

małpa napisał(-a):

Czy istnieje możliwość wyświetlania godziny w formacie dwudziestoczterogodzinnym (wschód i zachód słońca)?

nie, przynajmniej na razie

począwszy od 75. rewizji na SVN, wschody i zachody podawane są w formacie dwudziestoczterogodzinnym
pogodynka.latin2
pogodynka.utf8

dodatkowo:
- obsługa skali Fahrenheita (SCALE='F') lub Celsjusza (SCALE='C')


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#17 2008.12.19 22:19:32

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

Rewizja 80.
Wersja rc1, jeśli ktoś jeszcze czegoś oczekuje, powinien się pospieszyć. smile

Zmiany:
- dodano opcję -C config dla alternatywnego konfigu

pogodynka.utf8
pogodynka.latin2


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#18 2008.12.21 22:11:24

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: Pogodynka 0.4alpha

I doczekaliśmy się stabilnego wydania 0.4. smile

Skrypt wygląda tak: pogodynka

Do pobrania:
- pakiet pogodynka_0.4-1.tar.gz — można wypakować w /, chyba że ktos używa egzotycznej struktury katalogów (tylko skrypt, bez czcionki weather.ttf)
- dla użytkowników Debiana i pochodnych dostępne jest repozytorium:

Kod:

deb http://pogodynka.fluxboxpl.org/debian stable main non-free
deb-src http://pogodynka.fluxboxpl.org/debian stable main non-free

(pakiety: pogodynka oraz ttf-weather z czcionką używaną do rysowania ikon w conky'm)

Pakiety zawierają dwie wersje skryptu — latin2 i utf8, w wiadomym kodowaniu. Dodatkowo tworzony jest link symboliczny pogodynka do (domyślnie) pogodynka.utf8 (w pakiecie *.tar.gz po prostu dowiązanie, w *.deb wykorzystany został Debianowy mechanizm alternatyw).

Zmiany w stosunku do wersji 0.2 (0.3 została porzucona w trakcie prac):
- zangielszczenie skryptu
- skrypt przeniesiony do $PATH, wszelkie ustawienia mogą zostać podane w pliku konfiguracyjnym
- nowe flagi uruchomieniowe, można podać miasto (tylko polskie) jako argument, można podać kod jako argument
- obsługa grafik w conky'm (wymagana czcionka weather.ttf)
- obsługa większej ilości przeglądarek: w3m, links, links2, lynx, elinks
- podawanie temperatury w skali Celsjusza lub Fehrenheita
- dodana dokumentacja
- godziny wschodu i zachodu słońca podawane są w formacie dwudziestoczterogodzinnym
- wiele mniejszych lub większych poprawek


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson