Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-07-24 20:21:31

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

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 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. :)
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-25 16:59:43)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#2  2008-07-28 23:21:14

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

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


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#3  2008-07-29 19:44:24

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Pogodynka 0.4alpha

Ja tylko dodam, że jest już alpha3 ;) .

Offline

 

#4  2008-07-29 19:59:42

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Pogodynka 0.4alpha

Minio napisał(-a):

Ja tylko dodam, że jest już alpha3 ;) .

właściwie to nie, ale skoro tak twierdzisz ;)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#5  2008-07-29 21:40:05

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Pogodynka 0.4alpha

alpha2.1? ;)

Nie wiem, Ty określasz wersję.

Offline

 

#6  2008-07-29 21:44:35

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Pogodynka 0.4alpha

to jeszcze nie było publiczne, miałem w zanadrzu kilka zmian przed trzecią alphą/pierwszą betą :)

Ostatnio edytowany przez azhag (2008-07-29 21:48:46)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#7  2008-07-31 16:42:19

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Pogodynka 0.4alpha

Ktos jakies problemy ma : http://majusio.com.pl/2008/07/31/pogodynka-sh-problem/  i nie jest to chińczyk
;)

Ostatnio edytowany przez ba10 (2008-07-31 16:50:35)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój Blog, a później Tańczymy ;)

Offline

 

#8  2008-07-31 17:06:08

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Pogodynka 0.4alpha

ba10 napisał(-a):

i nie jest to chińczyk
;)

bo chińczycy mają dobrą instrukcję ;)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#9  2008-08-02 13:09:44

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Pogodynka 0.4alpha

pierwsza beta, od razu w pakietach :) jak kogoś pakiet nie interesuje, może wyciągnać skrypt (oraz przykładowy konfig, manula i czcionkę) z archiwum tar.gz.
http://pogodynka.fluxboxpl.org/debs/

zmiany:
- pojawiły się szczątki dokumentacji
- skrypt sprawdza kilka kluczowych zmiennych i w razie czego elegancko wychodzi, zamiast nieporadnie się wysypywać

todo:
- dodanie flagi dla alternatywnego konfigu (co wiąże się z użyciem getopts)
- uzupełnienie dokumentacji
- wsadzenie całości w niedebianowy pakiet
- dodanie jakiegoś easter egga ;)

Ostatnio edytowany przez azhag (2008-08-02 13:11:23)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#10  2008-12-14 10:42:17

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Pogodynka 0.4alpha

rewizja 75. na Wiedźmowym SVN:
- godziny wschodu i zachodu słońca podawane są w formacie dwudziestoczterogodzinnym
- obsługa skali Fahrenheita (SCALE='F') lub Celsjusza (SCALE='C')

pogodynka.latin2
pogodynka.utf8


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#11  2008-12-19 22:18:41

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Pogodynka 0.4alpha

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

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

pogodynka.utf8
pogodynka.latin2


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#12  2008-12-21 22:09:34

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Pogodynka 0.4alpha

I doczekaliśmy się stabilnego wydania 0.4. :)

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)
- 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 (szczegóły po wpisaniu pogodynka -h lub man 1 pogodynka)
- 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

Więcej na stronie domowej: http://pogodynka.fluxboxpl.org/

Ostatnio edytowany przez azhag (2008-12-22 13:06:58)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#13  2008-12-22 10:53:50

  LongeR - Członek DUG

LongeR
Członek DUG
Skąd: DT
Zarejestrowany: 2007-09-03
Serwis

Re: Pogodynka 0.4alpha

Szacunek wodzu za poświęcenie swojego czasu, musisz to lubić:)


LongeR rządzi, LongeR radzi, LongeR nigdy cię nie zdradzi!!
-->Nic na siłę, lekko młotkiem:D<----> Czy myślenie sprawia Ci ból?<--
Nieważne od czego się zaczyna - kończy się zawsze na Debianie : )
Linux register users: #456947

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)