summaryrefslogtreecommitdiff
path: root/rc/bin/weather
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 17:14:36 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 17:14:36 +0300
commit2959e1ede0ebc6fdffd7b8660f43c2ce14c9696f (patch)
treef6343b1ce11a8c87251dd27cf3d3e26b50693fa7 /rc/bin/weather
parente463eb40363ff4c68b1d903f4e0cdd0ac1c5977f (diff)
Import sources from 2011-03-30 iso image - rc
Diffstat (limited to 'rc/bin/weather')
-rwxr-xr-xrc/bin/weather46
1 files changed, 46 insertions, 0 deletions
diff --git a/rc/bin/weather b/rc/bin/weather
new file mode 100755
index 000000000..5261495bf
--- /dev/null
+++ b/rc/bin/weather
@@ -0,0 +1,46 @@
+#!/bin/rc
+
+rfork e
+
+DEFAULT=ewr
+
+fn usage{
+ echo 'usage: weather 3-letter-city-code' >[1=2]
+ echo 'for a list of cities in new york, say' >[1=2]
+ echo ' weather ny' >[1=2]
+ exit usage
+}
+
+switch($#*){
+case 0
+ arg=$DEFAULT
+ if(~ $#weather 1)
+ arg=$weather
+case 1
+ arg=$1
+case *
+ usage
+}
+
+switch($arg){
+case [a-zA-Z][a-zA-Z][a-zA-Z]
+ script=('' '' 'C' '4' '1' '1' $arg '' '' '' '' 'X')
+case [a-zA-Z][a-zA-Z]
+ script=('' '' 'C' '4' '1' '3' $arg '' '' '' '' 'X')
+case *
+ usage
+}
+
+{
+ for(i in $script)
+ echo $i
+} |
+con -nrl tcp!rainmaker.wunderground.com!telnet |
+sed -n '/Enter .-letter .* code:/,/CITY FORECAST MENU/p' |
+sed 's/Enter .-letter .* code: //' |
+sed 's/ Press Return to continue, M to return to menu, X to exit: //' |
+grep -v 'CITY FORECAST MENU' |
+tr -d ' ' |
+sed 's/ *$//' |
+uniq
+