-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
146 lines (88 loc) · 5.63 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Copy of http://code.google.com/p/python-weather-api/ page.
=Introduction=
The module provides a python wrapper around the Yahoo! Weather, Weather.com and NOAA APIs.
Authors: Eugene Kaznacheev <[email protected]>
Joshua Tasker <[email protected]>
(*pywapi* - Python Weather API)
=Building=
==From source ==
Download the latest pywapi library from: https://launchpad.net/python-weather-api/trunk/0.3.8/+download/pywapi-0.3.8.tar.gz
Untar the source distribution and run:
{{{
$ python setup.py build
$ python setup.py install
}}}
=Getting the code=
View the trunk at:
http://python-weather-api.googlecode.com/svn/trunk/
Check out the latest development version anonymously with:
{{{
svn checkout http://python-weather-api.googlecode.com/svn/trunk/ python-weather-api-read-only
}}}
=Documentation=
== Yahoo! Weather ==
Use the following function, that fetches weather report from Yahoo
=== *pywapi.get_weather_from_yahoo(* _location_id_ *,* _ units = 'metric' _ *)* ===
*location_id*: A five digit US zip code or location ID. To find your location ID,
browse or search for your city from the Weather home page (http://weather.yahoo.com/)
The weather ID is in the URL for the forecast page for that city. You can also get the location ID by entering your zip code on the home page. For example, if you search for Los Angeles on the Weather home page, the forecast page for that city is http://weather.yahoo.com/forecast/USCA0638.html. The location ID is USCA0638.
*units*: type of units. 'metric' for metric and '' for non-metric
Note that choosing metric units changes all the weather units to metric, for example, wind speed will be reported as kilometers per hour and barometric pressure as millibars.
Default value is 'metric'.
Returns:
*weather_data*: a dictionary of weather data that exists in XML feed. See http://developer.yahoo.com/weather/#channel
* [ExampleOfYahooXML Example of XML response from Yahoo]
* [Examples#Yahoo!_Weather Example of return data]
== Weather.com ==
Use the following function, that fetches weather report from Weather.com
=== *pywapi.get_weather_from_weather_com(* _location_id_ *,* _ units = 'metric' _ *)* ===
*location_id*: A five digit US zip code or location ID. To find your location ID,
browse or search for your city from the Weather.com home page (http://www.weather.com/)
The weather ID is in the URL for the forecast page for that city. You can also get the location ID by entering your zip code on the home page. For example, if you search for Los Angeles on the Weather home page, the forecast page for that city is http://www.weather.com/weather/today/Los+Angeles+CA+USCA0638:1:US. The location ID is USCA0638.
*units*: type of units. 'metric' for metric and '' for non-metric
Note that choosing metric units changes all the weather units to metric, for example, wind speed will be reported as kilometers per hour and barometric pressure as millibars. Default value is 'metric'.
Returns:
*weather_data*: a dictionary of weather data that exists in XML feed.
* [ExampleOfWeatherComXML Example of XML response from Weather.com]
* [Examples#Weather.com Example of return data]
== NOAA ==
Use the following function, that fetches weather report from NOAA: National Oceanic and Atmospheric Administration (United States)
=== *pywapi.get_weather_from_noaa(* _station_id_ *)* ===
*station_id*: the ID of the weather station near the necessary location
To find your station ID, perform the following steps:
# Open this URL: http://www.weather.gov/xml/current_obs/seek.php?state=az&Find=Find
# Select the necessary state state. Click 'Find'.
# Find the necessary station in the 'Observation Location' column.
# The station ID is in the URL for the weather page for that station.
For example if the weather page is http://weather.noaa.gov/weather/current/KPEO.html -- the station ID is KPEO.
Other way to get the station ID: use this library: http://code.google.com/p/python-weather/ and _Weather.location2station_ function.
Returns:
*weather_data*: a dictionary of weather data that exists in XML feed.
* [ExampleOfNoaaXML Example of XML response from NOAA]
* [Examples#NOAA Example of return data]
(useful icons: http://www.weather.gov/xml/current_obs/weather.php)
=Examples=
===[Examples More examples]===
==Script==
{{{
import pywapi
import string
weather_com_result = pywapi.get_weather_from_weather_com('10001')
yahoo_result = pywapi.get_weather_from_yahoo('10001')
noaa_result = pywapi.get_weather_from_noaa('KJFK')
print "Weather.com says: It is " + string.lower(weather_com_result['current_conditions']['text']) + " and " + weather_com_result['current_conditions']['temperature'] + "C now in New York.\n\n"
print "Yahoo says: It is " + string.lower(yahoo_result['condition']['text']) + " and " + yahoo_result['condition']['temp'] + "C now in New York.\n\n"
print "NOAA says: It is " + string.lower(noaa_result['weather']) + " and " + noaa_result['temp_c'] + "C now in New York.\n"
}}}
==Result==
{{{
[~] python examples/pywapi-example.py
Weather.com says: It is overcast and 15C now in New York.
Yahoo says: It is fog and 14C now in New York.
NOAA says: It is overcast and 15C now in New York.
}}}
= Where is it used? =
Weather script for `GeekTool`: http://www.leancrew.com/all-this/2009/06/new-weather-script-for-geektool/
Google Wave robot: http://code.google.com/p/firstwave/wiki/DrWeather
http://blog.chrisramsay.co.uk/2009/08/11/getting-weather-information-with-python/
Weather plugins for Dreambox E2: http://linux-sat.tv/index.php/topic,314.msg1328/topicseen.html#msg1328.