
Code: Select all
sed -n -e '/Temperature/p' index.htmlCode: Select all
sed -n -e '/BEGINNING/,/ENDING/p' index.html
Code: Select all
echo
echo " ..::Weather service for my home city:)::.. "
echo
wget -nv -O pogodanet http://pogoda.wp.pl/miasto,lodz,mid,1201127,mi.html 2>&1 > /dev/null | sed '/^Cookie/d' | sed '/^[[:digit:]]/d'
echo -n
echo
case $1 in
-t)
grep 'Temp. odczuwalna' pogodanet | sed 's/(wiatr):<br> <strong>/ /ig' | sed 's/<\/strong>/ /ig'
;;
-w)
grep 'Wsch.' pogodanet | sed 's/<strong>/ /ig' | sed 's/<\/strong><br\/>/ /ig'
;;
-z)
grep 'Zach. s' pogodanet | sed 's/<strong style="padding-left: 2px;">/ /ig' | sed 's/<\/strong>/ /ig'
;;
*)
echo "This weather element is not available yet:)"
esac
echo

Code: Select all
import urllib
def cel_fah(placeholder):
return 9.0/5.0*placeholder+32
def twotoone(tens, ones):
return (tens * 10) + ones
def kts_mph(kts):
return (1.1507794 * kts) - ((1.1507794 * kts) % .5)
sock = urllib.urlopen("http://weather.noaa.gov/pub/data/observations/metar/stations/AAXX.TXT")
weatherText = sock.read()
sock.close()
for i in range(len(weatherText)):
if weatherText[i] == '/':
if i > 16:
slashChar = i
if weatherText[slashChar-3] == " ":
minus = 0
elif weatherText[slashChar-3] == "M":
minus = 1
onesdigit = int(weatherText[slashChar-1])
tensdigit = int(weatherText[slashChar-2])
tempTemp = twotoone(tensdigit, onesdigit)
if minus == 1:
tempCel = 0 - tempTemp
elif minus == 0:
tempCel = tempTemp
tempFahr = cel_fah(tempCel)
for i in range(5):
if weatherText[i+slashChar] == " ":
nextSpace = i + slashChar
if weatherText[nextSpace-3] == "/":
dpMinus = 0
elif weatherText[nextSpace-3] =="M":
dpMinus = 1
dpodigit = int(weatherText[nextSpace-1])
dptdigit = int(weatherText[nextSpace-2])
tempDp = twotoone(dptdigit, dpodigit)
if dpMinus == 1:
dpCel = 0 - tempDp
elif dpMinus == 0:
dpCel = tempDp
dpFahr = cel_fah(dpCel)
print "Temp:", tempFahr, "degrees Fahrenheit"
print "Dew Point: ", dpFahr, "degrees Fahrenheit"
relHum = ((6.11*10.0**(7.5*(dpCel)/(237.7+(dpCel))))/(6.11*10.0**(7.5*(tempCel)/(237.7+(tempCel)))))*100
print "Relative Humidity: ", relHum, "%"
#Start doing wind now
for i in range(len(weatherText)):
if weatherText[i] == "K":
if weatherText[i+1] == "T":
windChar = i
goo, foo = 0, "D"
while foo != " ":
goo = goo + 1
foo = weatherText[windChar-goo]
windStartChar = windChar - goo + 1
#print weatherText[windStartChar]
if weatherText[windStartChar] == "V":
dirWord = "Variable Direction"
else:
wTens = int(weatherText[windStartChar + 1])
wHuns = int(weatherText[windStartChar])
windDir = twotoone(wHuns, wTens) * 10
# Wind direction is done stupidly, behold:
if windDir == 0:
dirWord = "N"
if windDir == 10:
dirWord = "N"
if windDir == 20:
dirWord = "N"
if windDir == 30:
dirWord = "NE"
if windDir == 40:
dirWord = "NE"
if windDir == 50:
dirWord = "NE"
if windDir == 60:
dirWord = "NE"
if windDir == 70:
dirWord = "E"
if windDir == 80:
dirWord = "E"
if windDir == 90:
dirWord = "E"
if windDir == 100:
dirWord = "E"
if windDir == 110:
dirWord = "E"
if windDir == 120:
dirWord = "SE"
if windDir == 130:
dirWord = "SE"
if windDir == 140:
dirWord = "SE"
if windDir == 150:
dirWord = "SE"
if windDir == 160:
dirWord = "S"
if windDir == 170:
dirWord = "S"
if windDir == 180:
dirWord = "S"
if windDir == 190:
dirWord = "S"
if windDir == 200:
dirWord = "S"
if windDir == 210:
dirWord = "SW"
if windDir == 220:
dirWord = "SW"
if windDir == 230:
dirWord = "SW"
if windDir == 240:
dirWord = "SW"
if windDir == 250:
dirWord = "W"
if windDir == 260:
dirWord = "W"
if windDir == 270:
dirWord = "W"
if windDir == 280:
dirWord = "W"
if windDir == 290:
dirWord = "W"
if windDir == 300:
dirWord = "NW"
if windDir == 310:
dirWord = "NW"
if windDir == 320:
dirWord = "NW"
if windDir == 330:
dirWord = "NW"
if windDir == 340:
dirWord = "N"
if windDir == 350:
dirWord = "N"
#implement hurricane-mode later.
wsTens = int(weatherText[windStartChar+3])
wsOnes = int(weatherText[windStartChar+4])
windSus = twotoone(wsTens, wsOnes)
print "Wind:", kts_mph(windSus), "mph", dirWord
if weatherText[windStartChar+5] == "G":
windGus = twotoone(int(weatherText[windStartChar+6]), int(weatherText[windStartChar+7]))
print "Gusts:", kts_mph(windGus), "mph"
