1 | Binary files ../mythplugins-orig/mythweather/mythweather/libmythweather.so and ./mythweather/mythweather/libmythweather.so differ |
---|
2 | Binary files ../mythplugins-orig/mythweather/mythweather/main.o and ./mythweather/mythweather/main.o differ |
---|
3 | diff -rup ../mythplugins-orig/mythweather/mythweather/Makefile ./mythweather/mythweather/Makefile |
---|
4 | --- ../mythplugins-orig/mythweather/mythweather/Makefile 2007-04-14 01:32:02.000000000 -0400 |
---|
5 | +++ ./mythweather/mythweather/Makefile 2007-04-21 00:54:14.000000000 -0400 |
---|
6 | @@ -187,6 +187,56 @@ install_installimages: all |
---|
7 | -$(INSTALL_FILE) "images/sunny.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
8 | -$(INSTALL_FILE) "images/thunshowers.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
9 | -$(INSTALL_FILE) "images/unknown.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
10 | + -$(INSTALL_FILE) "images/0.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
11 | + -$(INSTALL_FILE) "images/1.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
12 | + -$(INSTALL_FILE) "images/2.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
13 | + -$(INSTALL_FILE) "images/3.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
14 | + -$(INSTALL_FILE) "images/4.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
15 | + -$(INSTALL_FILE) "images/5.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
16 | + -$(INSTALL_FILE) "images/6.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
17 | + -$(INSTALL_FILE) "images/7.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
18 | + -$(INSTALL_FILE) "images/8.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
19 | + -$(INSTALL_FILE) "images/9.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
20 | + -$(INSTALL_FILE) "images/10.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
21 | + -$(INSTALL_FILE) "images/11.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
22 | + -$(INSTALL_FILE) "images/12.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
23 | + -$(INSTALL_FILE) "images/13.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
24 | + -$(INSTALL_FILE) "images/14.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
25 | + -$(INSTALL_FILE) "images/15.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
26 | + -$(INSTALL_FILE) "images/16.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
27 | + -$(INSTALL_FILE) "images/17.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
28 | + -$(INSTALL_FILE) "images/18.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
29 | + -$(INSTALL_FILE) "images/19.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
30 | + -$(INSTALL_FILE) "images/20.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
31 | + -$(INSTALL_FILE) "images/21.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
32 | + -$(INSTALL_FILE) "images/22.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
33 | + -$(INSTALL_FILE) "images/23.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
34 | + -$(INSTALL_FILE) "images/24.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
35 | + -$(INSTALL_FILE) "images/25.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
36 | + -$(INSTALL_FILE) "images/26.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
37 | + -$(INSTALL_FILE) "images/27.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
38 | + -$(INSTALL_FILE) "images/28.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
39 | + -$(INSTALL_FILE) "images/29.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
40 | + -$(INSTALL_FILE) "images/30.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
41 | + -$(INSTALL_FILE) "images/31.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
42 | + -$(INSTALL_FILE) "images/32.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
43 | + -$(INSTALL_FILE) "images/33.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
44 | + -$(INSTALL_FILE) "images/34.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
45 | + -$(INSTALL_FILE) "images/35.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
46 | + -$(INSTALL_FILE) "images/36.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
47 | + -$(INSTALL_FILE) "images/37.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
48 | + -$(INSTALL_FILE) "images/38.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
49 | + -$(INSTALL_FILE) "images/39.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
50 | + -$(INSTALL_FILE) "images/40.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
51 | + -$(INSTALL_FILE) "images/41.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
52 | + -$(INSTALL_FILE) "images/42.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
53 | + -$(INSTALL_FILE) "images/43.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
54 | + -$(INSTALL_FILE) "images/44.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
55 | + -$(INSTALL_FILE) "images/45.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
56 | + -$(INSTALL_FILE) "images/46.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
57 | + -$(INSTALL_FILE) "images/na.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
58 | + -$(INSTALL_FILE) "images/weather_logo.png" "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
59 | + |
---|
60 | |
---|
61 | |
---|
62 | uninstall_installimages: |
---|
63 | @@ -210,6 +260,55 @@ uninstall_installimages: |
---|
64 | -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/sunny.png" |
---|
65 | -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/thunshowers.png" |
---|
66 | -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/unknown.png" |
---|
67 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/0.png" |
---|
68 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/1.png" |
---|
69 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/2.png" |
---|
70 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/3.png" |
---|
71 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/4.png" |
---|
72 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/5.png" |
---|
73 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/6.png" |
---|
74 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/7.png" |
---|
75 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/8.png" |
---|
76 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/9.png" |
---|
77 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/10.png" |
---|
78 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/11.png" |
---|
79 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/12.png" |
---|
80 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/13.png" |
---|
81 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/14.png" |
---|
82 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/15.png" |
---|
83 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/16.png" |
---|
84 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/17.png" |
---|
85 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/18.png" |
---|
86 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/19.png" |
---|
87 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/20.png" |
---|
88 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/21.png" |
---|
89 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/22.png" |
---|
90 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/23.png" |
---|
91 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/24.png" |
---|
92 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/25.png" |
---|
93 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/26.png" |
---|
94 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/27.png" |
---|
95 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/28.png" |
---|
96 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/29.png" |
---|
97 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/30.png" |
---|
98 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/31.png" |
---|
99 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/32.png" |
---|
100 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/33.png" |
---|
101 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/34.png" |
---|
102 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/35.png" |
---|
103 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/36.png" |
---|
104 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/37.png" |
---|
105 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/38.png" |
---|
106 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/39.png" |
---|
107 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/40.png" |
---|
108 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/41.png" |
---|
109 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/42.png" |
---|
110 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/43.png" |
---|
111 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/44.png" |
---|
112 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/45.png" |
---|
113 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/46.png" |
---|
114 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/na.png" |
---|
115 | + -$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/weather_logo.png" |
---|
116 | -$(DEL_DIR) "$(INSTALL_ROOT)/usr/share/mythtv/themes/default/" |
---|
117 | |
---|
118 | diff -rup ../mythplugins-orig/mythweather/mythweather/weather.cpp ./mythweather/mythweather/weather.cpp |
---|
119 | --- ../mythplugins-orig/mythweather/mythweather/weather.cpp 2007-03-26 23:20:23.000000000 -0400 |
---|
120 | +++ ./mythweather/mythweather/weather.cpp 2007-04-21 00:46:40.000000000 -0400 |
---|
121 | @@ -1549,13 +1549,13 @@ void Weather::cursorRight() |
---|
122 | |
---|
123 | if (tp == 6) |
---|
124 | tp = 1; |
---|
125 | - |
---|
126 | +/* |
---|
127 | if (tp == 3 && pastTime == true) |
---|
128 | tp = 4; |
---|
129 | |
---|
130 | if (tp == 4 && pastTime == false) |
---|
131 | tp = 5; |
---|
132 | - |
---|
133 | +*/ |
---|
134 | showLayout(tp); |
---|
135 | } |
---|
136 | else if (deepSetup == false) |
---|
137 | @@ -1659,13 +1659,13 @@ void Weather::cursorLeft() |
---|
138 | |
---|
139 | if (tp == 0) |
---|
140 | tp = 5; |
---|
141 | - |
---|
142 | +/* |
---|
143 | if (tp == 3 && pastTime == true) |
---|
144 | tp = 2; |
---|
145 | |
---|
146 | if (tp == 4 && pastTime == false) |
---|
147 | tp = 3; |
---|
148 | - |
---|
149 | +*/ |
---|
150 | showLayout(tp); |
---|
151 | } |
---|
152 | else if (deepSetup == true) |
---|
153 | @@ -1736,12 +1736,12 @@ void Weather::nextpage_timeout() |
---|
154 | tp++; |
---|
155 | if (tp > 5) |
---|
156 | tp = 1; |
---|
157 | - |
---|
158 | +/* |
---|
159 | if (tp == 3 && pastTime == true) |
---|
160 | tp = 4; |
---|
161 | if (tp == 4 && pastTime == false) |
---|
162 | tp = 5; |
---|
163 | - |
---|
164 | +*/ |
---|
165 | showLayout(tp); |
---|
166 | |
---|
167 | } |
---|
168 | @@ -1783,12 +1783,12 @@ void Weather::update_timeout() |
---|
169 | |
---|
170 | if (result == true) |
---|
171 | { |
---|
172 | - |
---|
173 | +/* |
---|
174 | if (pastTime == true && currentPage == 3 && inSetup == false) |
---|
175 | nextpage_timeout(); |
---|
176 | if (pastTime == false && currentPage == 4 && inSetup == false) |
---|
177 | nextpage_timeout(); |
---|
178 | - |
---|
179 | +*/ |
---|
180 | if (firstRun == true && inSetup == false) |
---|
181 | nextpage_Timer->start((int)(1000 * nextpageInterval)); |
---|
182 | |
---|
183 | @@ -1891,7 +1891,11 @@ void Weather::update_timeout() |
---|
184 | |
---|
185 | QString todayDesc; |
---|
186 | |
---|
187 | - todayDesc = tr("Today a high of ") + highTemp[0] + tr(" and a low of "); |
---|
188 | + if (highTemp[0] != "N/A") |
---|
189 | + todayDesc = tr("Today expect a high of ") + highTemp[0] + tr(" and a low of "); |
---|
190 | + else |
---|
191 | + todayDesc = tr("Today expect a low of "); |
---|
192 | + |
---|
193 | todayDesc += lowTemp[0] + tr(". Currently there is a humidity of "); |
---|
194 | todayDesc += curHumid + tr("% and the winds are"); |
---|
195 | |
---|
196 | @@ -1905,7 +1909,7 @@ void Weather::update_timeout() |
---|
197 | todayDesc += tr(" coming in at ") + curWind + tr(" Km/h from the ") + tr(winddir) + "."; |
---|
198 | } |
---|
199 | |
---|
200 | - if (visibility.toFloat() == 999.00) |
---|
201 | + if (visibility == "Unlimited") |
---|
202 | todayDesc += tr(" Visibility will be unlimited for today."); |
---|
203 | else |
---|
204 | { |
---|
205 | @@ -1926,27 +1930,37 @@ void Weather::update_timeout() |
---|
206 | QString tomDesc; |
---|
207 | |
---|
208 | QString tomDate; |
---|
209 | - if (date[0].upper() == "SUN") |
---|
210 | +/* |
---|
211 | + if (date[1].upper() == "SUN") |
---|
212 | tomDate = tr("Sunday"); |
---|
213 | - else if (date[0].upper() == "MON") |
---|
214 | + else if (date[1].upper() == "MON") |
---|
215 | tomDate = tr("Monday"); |
---|
216 | - else if (date[0].upper() == "TUE") |
---|
217 | + else if (date[1].upper() == "TUE") |
---|
218 | tomDate = tr("Tuesday"); |
---|
219 | - else if (date[0].upper() == "WED") |
---|
220 | + else if (date[1].upper() == "WED") |
---|
221 | tomDate = tr("Wednesday"); |
---|
222 | - else if (date[0].upper() == "THU") |
---|
223 | + else if (date[1].upper() == "THU") |
---|
224 | tomDate = tr("Thursday"); |
---|
225 | - else if (date[0].upper() == "FRI") |
---|
226 | + else if (date[1].upper() == "FRI") |
---|
227 | tomDate = tr("Friday"); |
---|
228 | - else if (date[0].upper() == "SAT") |
---|
229 | + else if (date[1].upper() == "SAT") |
---|
230 | tomDate = tr("Saturday"); |
---|
231 | else |
---|
232 | tomDate = tr("Date Error"); |
---|
233 | +*/ |
---|
234 | |
---|
235 | - tomDesc = tr("Tomorrow expect a high of ") + highTemp[0] + tr(" and a low of "); |
---|
236 | - tomDesc += lowTemp[0] + tr("."); |
---|
237 | + tomDate = tr(" ") + date[1]; |
---|
238 | + tomDesc = tr("Expect high of ") + highTemp[1] + tr(", low of "); |
---|
239 | + tomDesc += lowTemp[1] + tr(" and humidity ") + humid[1]; |
---|
240 | +// tomDesc += tr("%. The prob of precip is ") + precip[1]; |
---|
241 | + tomDesc += tr("%. Winds ") + wind[1]; |
---|
242 | + if (convertData == false) |
---|
243 | + tomDesc += tr(" mph ") + tr(wdir[1]) + "."; |
---|
244 | + else |
---|
245 | + tomDesc += tr(" Km/h ") + tr(wdir[1]) + "."; |
---|
246 | |
---|
247 | - QString tomCond = tr("Expected conditions: ") + weatherType[0]; |
---|
248 | + QString tomCond = tr("Expected conditions: ") + weatherType[1]; |
---|
249 | + tomCond += tr(" pp ") + precip[1] + tr("%"); |
---|
250 | |
---|
251 | container = theme->GetSet("weatherpages"); |
---|
252 | if (container) |
---|
253 | @@ -1959,7 +1973,7 @@ void Weather::update_timeout() |
---|
254 | itype = (UIImageType *)container->GetType("todaypic"); |
---|
255 | if (itype) |
---|
256 | { |
---|
257 | - itype->SetImage(weatherIcon[0]); |
---|
258 | + itype->SetImage(weatherIcon[1]); |
---|
259 | itype->LoadImage(); |
---|
260 | } |
---|
261 | |
---|
262 | @@ -1998,12 +2012,15 @@ void Weather::update_timeout() |
---|
263 | SetText(container, "low1", lowTemp[1]); |
---|
264 | SetText(container, "low2", lowTemp[2]); |
---|
265 | SetText(container, "low3", lowTemp[3]); |
---|
266 | + SetText(container, "precip1", precip[1]); |
---|
267 | + SetText(container, "precip2", precip[2]); |
---|
268 | + SetText(container, "precip3", precip[3]); |
---|
269 | } |
---|
270 | |
---|
271 | container = theme->GetSet("weatherpages"); |
---|
272 | if (container) |
---|
273 | { |
---|
274 | - SetText(container, "updatetime", tr("Weather data from: ") + updated); |
---|
275 | + SetText(container, "updatetime", tr("Weather data last updated: ") + updated); |
---|
276 | } |
---|
277 | |
---|
278 | if (firstRun == true) |
---|
279 | @@ -2127,15 +2144,29 @@ bool Weather::UpdateData() |
---|
280 | |
---|
281 | if (haveData == true) |
---|
282 | { |
---|
283 | + getCurrentConditions(); |
---|
284 | + |
---|
285 | + getForecast(); |
---|
286 | + |
---|
287 | + return true; |
---|
288 | + } |
---|
289 | + |
---|
290 | + return false; |
---|
291 | +} |
---|
292 | |
---|
293 | - //updated = GetString("this.swLastUp"); |
---|
294 | - updated = QDateTime::currentDateTime().toString(gContext->GetSetting("dateformat") + |
---|
295 | - " " + gContext->GetSetting("timeformat")); |
---|
296 | - city = GetString("this.swCity"); |
---|
297 | - state = GetString("this.swSubDiv"); |
---|
298 | - country = GetString("this.swCountry"); |
---|
299 | - curTemp = GetString("this.swTemp"); |
---|
300 | - if (curTemp.length() == 0) |
---|
301 | +void Weather::getCurrentConditions() |
---|
302 | +{ |
---|
303 | + QString cc, wind, bar, uv; |
---|
304 | + |
---|
305 | + // updated = QDateTime::currentDateTime().toString(gContext->GetSetting("dateformat") + " " + gContext->GetSetting("timeformat")); |
---|
306 | + city = GetString(httpData, "<dnam>", "</dnam>"); |
---|
307 | + // state = GetString("this.swSubDiv"); |
---|
308 | + // country = GetString("this.swCountry"); |
---|
309 | + updated = GetString(httpData, "<lsup>", "</lsup>"); |
---|
310 | + cc = GetString(httpData, "<cc>", "</cc>"); |
---|
311 | + curTemp = GetString(cc, "<tmp>", "</tmp>"); |
---|
312 | + |
---|
313 | + if ( (curTemp.length() == 0) || (curTemp == "N/A") ) |
---|
314 | { |
---|
315 | curTemp = "-na-"; |
---|
316 | updated = updated + tr(" (Not All Information Available)"); |
---|
317 | @@ -2152,20 +2183,25 @@ bool Weather::UpdateData() |
---|
318 | } |
---|
319 | } |
---|
320 | |
---|
321 | - curIcon = GetString("this.swCIcon"); |
---|
322 | - curWind = GetString("this.swWindS"); |
---|
323 | + curIcon = "weather/" + GetString(cc, "<icon>", "</icon>") + ".png"; |
---|
324 | + |
---|
325 | + wind = GetString(cc, "<wind>", "</wind>"); |
---|
326 | + bar = GetString(cc, "<bar>", "</bar>"); |
---|
327 | + uv = GetString(cc, "<uv>", "</uv>"); |
---|
328 | + |
---|
329 | + curWind = GetString(wind, "<s>", "</s>"); |
---|
330 | if (convertData == true) |
---|
331 | { |
---|
332 | - char tempHold[32]; |
---|
333 | - double tTemp = curWind.toDouble(); |
---|
334 | - double nTemp = (double)(tTemp*1.6); |
---|
335 | - sprintf (tempHold, "%d", (int)nTemp); |
---|
336 | - curWind = tempHold; |
---|
337 | + char windHold[32]; |
---|
338 | + double tWind = curWind.toDouble(); |
---|
339 | + double nWind = (double)(tWind*1.6); |
---|
340 | + sprintf (windHold, "%d", (int)nWind); |
---|
341 | + curWind = windHold; |
---|
342 | } |
---|
343 | |
---|
344 | - winddir = GetString("this.swWindD"); |
---|
345 | + winddir = GetString(wind, "<t>", "</t>"); |
---|
346 | |
---|
347 | - barometer = GetString("this.swBaro"); |
---|
348 | + barometer = GetString(bar, "<r>", "</r>"); |
---|
349 | if (convertData == true) |
---|
350 | { |
---|
351 | char tempHold[32]; |
---|
352 | @@ -2175,8 +2211,8 @@ bool Weather::UpdateData() |
---|
353 | barometer = tempHold; |
---|
354 | } |
---|
355 | |
---|
356 | - curHumid = GetString("this.swHumid"); |
---|
357 | - curFeel = GetString("this.swReal"); |
---|
358 | + curHumid = GetString(cc, "<hmid>", "</hmid>"); |
---|
359 | + curFeel = GetString(cc, "<flik>", "</flik>"); |
---|
360 | if (convertData == true) |
---|
361 | { |
---|
362 | char tempHold[32]; |
---|
363 | @@ -2186,9 +2222,9 @@ bool Weather::UpdateData() |
---|
364 | curFeel = tempHold; |
---|
365 | } |
---|
366 | |
---|
367 | - uvIndex = GetString("this.swUV"); |
---|
368 | - visibility = GetString("this.swVis"); |
---|
369 | - if (convertData == true && visibility.toDouble() != 999.0) |
---|
370 | + uvIndex = GetString(uv, "<i>", "</i>"); |
---|
371 | + visibility = GetString(cc, "<vis>", "</vis>"); |
---|
372 | + if (convertData == true && visibility.toDouble() != 999.0 && visibility != "Unlimited") |
---|
373 | { |
---|
374 | char tempHold[32]; |
---|
375 | double tTemp = visibility.toDouble(); |
---|
376 | @@ -2197,89 +2233,65 @@ bool Weather::UpdateData() |
---|
377 | visibility = tempHold; |
---|
378 | } |
---|
379 | |
---|
380 | - description = GetString("this.swConText"); |
---|
381 | + description = GetString(cc, "<t>", "</t>"); |
---|
382 | if (description.length() == 0) |
---|
383 | - description = curIcon; |
---|
384 | + description = "N/A"; |
---|
385 | +} |
---|
386 | + |
---|
387 | +void Weather::getForecast() |
---|
388 | +{ |
---|
389 | + QString forecast, d, day, start_tag, wd; |
---|
390 | + char str[24]; |
---|
391 | |
---|
392 | - QString forecastData; |
---|
393 | - forecastData = GetString("this.swFore"); |
---|
394 | - |
---|
395 | - QStringList holdings = QStringList::split("|", forecastData); |
---|
396 | - |
---|
397 | - int years, mons, days; |
---|
398 | - |
---|
399 | - int dayNum = (holdings[0]).toInt(); |
---|
400 | - QDate curDay(QDate::currentDate()); |
---|
401 | - int curDayNum = curDay.dayOfWeek(); |
---|
402 | - if (curDayNum == 7) |
---|
403 | - curDayNum = 1; |
---|
404 | - else |
---|
405 | - curDayNum++; |
---|
406 | - |
---|
407 | - if (curDayNum != dayNum) |
---|
408 | - pastTime = true; |
---|
409 | - else |
---|
410 | - pastTime = false; |
---|
411 | - |
---|
412 | - for (int i = 5; i < 9; i++) |
---|
413 | - { |
---|
414 | - QStringList dates = QStringList::split("/", holdings[i]); |
---|
415 | - years = dates[2].toInt(); |
---|
416 | - mons = dates[0].toInt(); |
---|
417 | - days = dates[1].toInt(); |
---|
418 | - QDate doDate(years, mons, days); |
---|
419 | - switch (doDate.dayOfWeek()) |
---|
420 | - { |
---|
421 | - case 1: date[i - 5] = QString("MON"); break; |
---|
422 | - case 2: date[i - 5] = QString("TUE"); break; |
---|
423 | - case 3: date[i - 5] = QString("WED"); break; |
---|
424 | - case 4: date[i - 5] = QString("THU"); break; |
---|
425 | - case 5: date[i - 5] = QString("FRI"); break; |
---|
426 | - case 6: date[i - 5] = QString("SAT"); break; |
---|
427 | - case 7: date[i - 5] = QString("SUN"); break; |
---|
428 | - } |
---|
429 | - } |
---|
430 | - |
---|
431 | - for (int i = 9; i < 13; i++) |
---|
432 | - weatherIcon[i - 9] = holdings[i]; |
---|
433 | - |
---|
434 | - for (int i = 20; i < 24; i++) |
---|
435 | + pastTime = true; |
---|
436 | + |
---|
437 | + for (int i = 0; i < 5; i++) |
---|
438 | { |
---|
439 | - if (convertData == true) |
---|
440 | + sprintf(str, "<day d=\"%i\"", i); |
---|
441 | + start_tag = QString(str); |
---|
442 | + forecast = GetString(httpData, start_tag, "</day>"); |
---|
443 | + highTemp[i] = GetString(forecast, "<hi>", "</hi>"); |
---|
444 | + lowTemp[i] = GetString(forecast, "<low>", "</low>"); |
---|
445 | + |
---|
446 | + d = GetString(forecast, "<part p=\"d\">", "</part>"); |
---|
447 | + wd = GetString(d, "<wind>", "</wind>"); |
---|
448 | + |
---|
449 | + precip[i] = GetString(d, "<ppcp>", "</ppcp>"); |
---|
450 | + humid[i] = GetString(d, "<hmid>", "</hmid>"); |
---|
451 | + wind[i] = GetString(wd, "<d>", "</d>"); |
---|
452 | + wdir[i] = GetString(wd, "<t>", "</t>"); |
---|
453 | + weatherIcon[i] = "weather/" + GetString(d, "<icon>", "</icon>") + ".png"; |
---|
454 | + |
---|
455 | + weatherType[i] = GetString(d, "<t>", "</t>"); |
---|
456 | + date[i] = GetString(forecast, "t=\"", "\" dt="); |
---|
457 | + |
---|
458 | + if ( (convertData == true) && (highTemp[i] != "N/A") ) |
---|
459 | { |
---|
460 | char tempHold[32]; |
---|
461 | - double tTemp = holdings[i].toDouble(); |
---|
462 | + double tTemp = highTemp[i].toDouble(); |
---|
463 | double nTemp = (double)(5.0/9.0)*(tTemp - 32.0); |
---|
464 | sprintf (tempHold, "%d", (int)nTemp); |
---|
465 | - holdings[i] = tempHold; |
---|
466 | + highTemp[i] = tempHold; |
---|
467 | } |
---|
468 | - highTemp[i - 20] = holdings[i]; |
---|
469 | - } |
---|
470 | - |
---|
471 | - for (int i = 40; i < 44; i++) |
---|
472 | - { |
---|
473 | - if (convertData == true) |
---|
474 | + |
---|
475 | + if ( (convertData == true) && (lowTemp[i] != "N/A") ) |
---|
476 | { |
---|
477 | char tempHold[32]; |
---|
478 | - double tTemp = holdings[i].toDouble(); |
---|
479 | + double tTemp = lowTemp[i].toDouble(); |
---|
480 | double nTemp = (double)(5.0/9.0)*(tTemp - 32.0); |
---|
481 | sprintf (tempHold, "%d", (int)nTemp); |
---|
482 | - holdings[i] = tempHold; |
---|
483 | + lowTemp[i] = tempHold; |
---|
484 | + } |
---|
485 | + if (convertData == true) |
---|
486 | + { |
---|
487 | + char windHold[32]; |
---|
488 | + double tWind = wind[i].toDouble(); |
---|
489 | + double nWind = (double)(tWind*1.6); |
---|
490 | + sprintf (windHold, "%d", (int)nWind); |
---|
491 | + wind[i] = windHold; |
---|
492 | } |
---|
493 | - lowTemp[i - 40] = holdings[i]; |
---|
494 | + |
---|
495 | } |
---|
496 | - |
---|
497 | - for (int i = 15; i < 19; i++) |
---|
498 | - weatherType[i - 15] = holdings[i]; |
---|
499 | - |
---|
500 | - setWeatherTypeIcon(weatherType); |
---|
501 | - setWeatherIcon(description); |
---|
502 | - |
---|
503 | - return true; |
---|
504 | - |
---|
505 | - } |
---|
506 | - |
---|
507 | - return false; |
---|
508 | } |
---|
509 | |
---|
510 | void Weather::setWeatherTypeIcon(QString wt[5]) |
---|
511 | @@ -2334,44 +2346,41 @@ void Weather::setWeatherIcon(QString txt |
---|
512 | curIcon = "weather/unknown.png"; |
---|
513 | } |
---|
514 | |
---|
515 | -QString Weather::GetString(QString tag) |
---|
516 | + |
---|
517 | +QString Weather::GetString(QString data, QString tag_begin, QString tag_end) |
---|
518 | { |
---|
519 | - QString data; |
---|
520 | + QString str; |
---|
521 | int start = 0; |
---|
522 | + int end = 0; |
---|
523 | int len = 0; |
---|
524 | |
---|
525 | - start = httpData.find(tag, 0); |
---|
526 | - len = httpData.find("\"", start + tag.length() + 4) - start - tag.length() - 4; |
---|
527 | + start = data.find(tag_begin, 0) + tag_begin.length(); |
---|
528 | + end = data.find(tag_end, start); |
---|
529 | + len = end - start; |
---|
530 | |
---|
531 | - data = httpData.mid(start + tag.length() + 4, len); |
---|
532 | + str = data.mid(start, len); |
---|
533 | |
---|
534 | - return data; |
---|
535 | + return str; |
---|
536 | } |
---|
537 | |
---|
538 | -int Weather::GetInt(QString tag) |
---|
539 | +int Weather::GetInt(QString data, QString tag_start, QString tag_end) |
---|
540 | { |
---|
541 | - QString data; |
---|
542 | - int start = 0; |
---|
543 | - int len = 0; |
---|
544 | - |
---|
545 | - start = httpData.find(tag, 0); |
---|
546 | - len = httpData.find("\"", start + tag.length() + 4) - start - tag.length() - 4; |
---|
547 | - data = httpData.mid(start + tag.length() + 4, len); |
---|
548 | - int ret = data.toInt(); |
---|
549 | + QString str; |
---|
550 | + |
---|
551 | + str = GetString(data, tag_start, tag_end); |
---|
552 | + |
---|
553 | + int ret = str.toInt(); |
---|
554 | |
---|
555 | return ret; |
---|
556 | } |
---|
557 | |
---|
558 | -float Weather::GetFloat(QString tag) |
---|
559 | +float Weather::GetFloat(QString data, QString tag_start, QString tag_end) |
---|
560 | { |
---|
561 | - QString data; |
---|
562 | - int start = 0; |
---|
563 | - int len = 0; |
---|
564 | + QString str; |
---|
565 | |
---|
566 | - start = httpData.find(tag, 0); |
---|
567 | - len = httpData.find("\"", start + tag.length() + 4) - start - tag.length() - 4; |
---|
568 | - data = httpData.mid(start + tag.length() + 4, len); |
---|
569 | - float ret = data.toFloat(); |
---|
570 | + str = GetString(data, tag_start, tag_end); |
---|
571 | + |
---|
572 | + float ret = str.toFloat(); |
---|
573 | |
---|
574 | return ret; |
---|
575 | } |
---|
576 | @@ -2379,7 +2388,14 @@ float Weather::GetFloat(QString tag) |
---|
577 | bool Weather::GetWeatherData() |
---|
578 | { |
---|
579 | |
---|
580 | - QString weatherDataURL = "http://www.msnbc.com/m/chnk/d/weather_d_src.asp?acid=" + locale; |
---|
581 | + QString weatherDataURL = "http://xoap.weather.com/weather/local/" + locale + "?cc=*&unit=f&dayf=5"; |
---|
582 | + |
---|
583 | +// |
---|
584 | +// Technically we should include the partner id and key |
---|
585 | +// if this stops working, change to the following: |
---|
586 | +// http://xoap.weather.com/weather/local/".$this->acid."?cc=*&unit=F&dayf=5&prod=xoap&par=1036905921&key=f68c2657a4fd3e2e" |
---|
587 | +// may need to get a new one from http://www.weather.com/services/xmloap.html |
---|
588 | +// |
---|
589 | |
---|
590 | VERBOSE(VB_NETWORK, QString("Grabbing weather from: %1").arg(weatherDataURL)); |
---|
591 | |
---|
592 | @@ -2390,8 +2406,8 @@ bool Weather::GetWeatherData() |
---|
593 | |
---|
594 | httpData = HttpComms::getHttp(weatherDataURL, weatherTimeoutInt, 3, 3); |
---|
595 | |
---|
596 | - if (httpData.find("this.swAcid = \"\";") != -1 || |
---|
597 | - httpData.find("<html>") != -1 || |
---|
598 | + if (httpData.find("<loc id=") == -1 || |
---|
599 | + httpData.find("<?xml") == -1 || |
---|
600 | httpData.find("Microsoft VBScript runtime") != -1 || |
---|
601 | httpData.find("Internal Server Error") != -1 || |
---|
602 | httpData.find("Bad Request", 0) != -1) |
---|
603 | diff -rup ../mythplugins-orig/mythweather/mythweather/weather.h ./mythweather/mythweather/weather.h |
---|
604 | --- ../mythplugins-orig/mythweather/mythweather/weather.h 2007-03-26 23:20:23.000000000 -0400 |
---|
605 | +++ ./mythweather/mythweather/weather.h 2007-04-21 00:01:45.000000000 -0400 |
---|
606 | @@ -135,6 +135,8 @@ class Weather : public MythDialog |
---|
607 | void updateLetters(); |
---|
608 | void loadAccidBreaks(); |
---|
609 | bool GetWeatherData(); |
---|
610 | + void getCurrentConditions(); |
---|
611 | + void getForecast(); |
---|
612 | bool GetAnimatedRadarMap(); |
---|
613 | bool GetStaticRadarMap(); |
---|
614 | bool gotDataHook; |
---|
615 | @@ -145,9 +147,9 @@ class Weather : public MythDialog |
---|
616 | void showCityName(); |
---|
617 | void setSetting(QString, QString, bool); |
---|
618 | |
---|
619 | - QString GetString(QString); |
---|
620 | - int GetInt(QString); |
---|
621 | - float GetFloat(QString); |
---|
622 | + QString GetString(QString, QString, QString); |
---|
623 | + int GetInt(QString, QString, QString); |
---|
624 | + float GetFloat(QString, QString, QString); |
---|
625 | |
---|
626 | void loadWeatherTypes(); |
---|
627 | weatherTypes *wData; |
---|
628 | @@ -179,6 +181,9 @@ class Weather : public MythDialog |
---|
629 | QString highTemp[5]; |
---|
630 | QString lowTemp[5]; |
---|
631 | QString precip[5]; |
---|
632 | + QString humid[5]; |
---|
633 | + QString wind[5]; |
---|
634 | + QString wdir[5]; |
---|
635 | |
---|
636 | QString httpData; |
---|
637 | QString oldhttpData; |
---|