Release OzWeather - Australian Weather Addon using BOM data inc. animated radar support
Hi Bossa,

I was having the same trouble as the chap before with a script error when searching a postcode.

Bearing in mind in know very little about python...

The returned url from weather zone has a www. at the front which is missing from the script.
Also, unfortunately there are TWO HTML lists with class typ2, which breaks the script. It only checks one of the two lists, which is the one containing news. Because the list you want is in the "structure_middle" div I included a step before extracting the list to limit the html to just that div.
The third thing is that the length of skimmed is 1, even though the search returns many results. So I changed it to the length of the locations array.

To that end, I've created a patch to fix things. It has some log() calls which really shouldn't be there, feel free to remove them. I'm sure there are ten better ways to accomplish the same thing (like checking for (www\.)? at the start of the URL.

I hope you don't mind me fiddling with your code.

Regards
Scott

Code:
--- default.py.dist     2012-02-27 15:49:06.000000000 +1100
+++ default.py  2012-02-27 15:44:40.000000000 +1100
@@ -521,7 +521,7 @@
         text = keyboard.getText()

         #need to submit the postcode to the weatherzone search
-        searchURL = 'http://weatherzone.com.au/search/'
+        searchURL = 'http://www.weatherzone.com.au/search/'
         user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
         host = 'www.weatherzone.com.au'
         headers = { 'User-Agent' : user_agent, 'Host' : host }
@@ -530,9 +530,11 @@
         req = urllib2.Request(searchURL, data, headers)
         response = urllib2.urlopen(req)
         resultPage = str(response.read())
+#        log("OzWeather: got response", resultPage);
         #was there only one match?  If so it returns the page for that match so we need to check the URL
         responseurl = response.geturl()
-        if responseurl != 'http://weatherzone.com.au/search/':
+#        log("OzWeather: got responseurl", responseurl);
+        if responseurl != 'http://www.weatherzone.com.au/search/':
             #we were redirected to an actual result page
             locationName = common.parseDOM(resultPage, "h1", attrs = { "class": "unenclosed" })
             locationName = str.split(locationName[0], ' Weather')
@@ -540,17 +542,24 @@
             locationids = [responseurl]
         else:
             #we got back a page to choose a more specific location
-            skimmed = common.parseDOM(resultPage, "ul", attrs = { "class": "typ2" })
+            middle = common.parseDOM(resultPage, "div", attrs = { "id": "structure_middle" })
+#            log("OzWeather: got middle", middle);
+            skimmed = common.parseDOM(middle, "ul", attrs = { "class": "typ2" })
+#            skimmed = common.parseDOM(resultPage, "ul", attrs = { "class": "typ2" })
+#            log("OzWeather: got skimmed", skimmed);
             #ok now get two lists - one of the friendly names
             #and a matchin one of the URLs to store
             locations = common.parseDOM(skimmed[0], "a")
+#            log("OzWeather: got locations", locations);
+#            log("OzWeather: got locations length", len(locations));
             templocs = common.parseDOM(skimmed[0], "a", ret="href")
+#            log("OzWeather: got templocs", templocs);
             #build the full urls
             locationids = []
             for count, loc in enumerate(templocs):
                 locationids.append(WeatherZoneURL + loc)
             #if we did not get enough data back there are no locations with this postcode
-            if len(skimmed)<=1:
+            if len(locations)<=1:
                 locations = []
                 locationids = []
Reply


Messages In This Thread
:grin::grin::grin: - by fastdump - 2011-12-15, 11:53
[No subject] - by bossanova808 - 2011-12-15, 11:55
[No subject] - by fastdump - 2011-12-15, 12:09
[No subject] - by bossanova808 - 2011-12-15, 12:10
[No subject] - by MaxHeadroom - 2011-12-15, 12:23
[No subject] - by N3MIS15 - 2011-12-15, 12:28
[No subject] - by bossanova808 - 2011-12-15, 12:43
[No subject] - by bossanova808 - 2011-12-16, 02:06
[No subject] - by fastdump - 2011-12-16, 04:30
[No subject] - by bossanova808 - 2011-12-16, 04:41
[No subject] - by bossanova808 - 2011-12-16, 05:16
[No subject] - by bossanova808 - 2011-12-16, 06:48
[No subject] - by rocketpants - 2011-12-16, 09:38
[No subject] - by fastdump - 2011-12-16, 11:30
[No subject] - by bossanova808 - 2011-12-17, 00:11
[No subject] - by fastdump - 2011-12-17, 04:40
[No subject] - by fastdump - 2011-12-17, 08:30
[No subject] - by bossanova808 - 2011-12-17, 08:32
[No subject] - by bossanova808 - 2011-12-17, 08:33
[No subject] - by fastdump - 2011-12-17, 11:00
[No subject] - by bossanova808 - 2011-12-17, 11:06
not working at all for me - by technophobe - 2011-12-19, 07:13
[No subject] - by bossanova808 - 2011-12-19, 07:20
[No subject] - by bossanova808 - 2011-12-19, 10:37
[No subject] - by bossanova808 - 2011-12-19, 12:25
log file? - by technophobe - 2011-12-20, 06:42
[No subject] - by bossanova808 - 2011-12-20, 11:47
[No subject] - by zan5hin - 2012-01-01, 13:50
[No subject] - by bossanova808 - 2012-01-03, 12:25
[No subject] - by bossanova808 - 2012-01-03, 13:25
[No subject] - by Troyp42 - 2012-01-11, 01:59
[No subject] - by bossanova808 - 2012-01-11, 02:01
[No subject] - by Troyp42 - 2012-01-11, 02:05
[No subject] - by bossanova808 - 2012-01-11, 02:07
[No subject] - by Troyp42 - 2012-01-11, 02:27
[No subject] - by bossanova808 - 2012-01-11, 11:51
[No subject] - by bossanova808 - 2012-01-11, 11:52
[No subject] - by Kokonutcreme - 2012-01-12, 07:52
[No subject] - by bossanova808 - 2012-01-12, 07:54
[No subject] - by Troyp42 - 2012-01-12, 08:30
[No subject] - by teeedubb - 2012-01-12, 09:14
[No subject] - by bossanova808 - 2012-01-12, 09:55
[No subject] - by teeedubb - 2012-01-12, 23:08
[No subject] - by fastdump - 2012-01-14, 18:02
[No subject] - by bossanova808 - 2012-01-15, 12:03
[No subject] - by bossanova808 - 2012-01-16, 13:17
[No subject] - by bossanova808 - 2012-01-16, 13:18
[No subject] - by bossanova808 - 2012-01-17, 02:30
[No subject] - by bossanova808 - 2012-01-17, 04:49
[No subject] - by Troyp42 - 2012-01-17, 09:31
[No subject] - by bossanova808 - 2012-01-17, 10:27
[No subject] - by bossanova808 - 2012-01-17, 11:45
[No subject] - by Troyp42 - 2012-01-17, 12:06
[No subject] - by bossanova808 - 2012-01-17, 12:09
[No subject] - by Troyp42 - 2012-01-17, 12:13
[No subject] - by bossanova808 - 2012-01-17, 12:16
[No subject] - by fastdump - 2012-01-17, 12:28
[No subject] - by bossanova808 - 2012-01-17, 12:32
[No subject] - by bossanova808 - 2012-01-17, 12:34
[No subject] - by Troyp42 - 2012-01-17, 12:39
[No subject] - by bossanova808 - 2012-01-17, 12:47
[No subject] - by fastdump - 2012-01-17, 12:57
[No subject] - by Troyp42 - 2012-01-17, 13:00
[No subject] - by bossanova808 - 2012-01-17, 13:03
[No subject] - by Troyp42 - 2012-01-17, 13:04
[No subject] - by bossanova808 - 2012-01-17, 13:06
[No subject] - by Troyp42 - 2012-01-17, 13:18
[No subject] - by bossanova808 - 2012-01-17, 13:26
[No subject] - by Troyp42 - 2012-01-17, 13:35
[No subject] - by bossanova808 - 2012-01-17, 13:42
[No subject] - by Troyp42 - 2012-01-17, 13:47
[No subject] - by bossanova808 - 2012-01-17, 13:51
[No subject] - by fastdump - 2012-01-17, 14:34
[No subject] - by bossanova808 - 2012-01-17, 14:39
[No subject] - by fastdump - 2012-01-17, 14:51
[No subject] - by bossanova808 - 2012-01-17, 14:55
[No subject] - by fastdump - 2012-01-17, 14:55
[No subject] - by bossanova808 - 2012-01-17, 14:56
[No subject] - by fastdump - 2012-01-17, 15:01
[No subject] - by bossanova808 - 2012-01-17, 15:08
[No subject] - by fastdump - 2012-01-17, 15:28
[No subject] - by bossanova808 - 2012-01-18, 01:09
[No subject] - by ya.rahman - 2012-01-18, 03:51
Dharma version - by ya.rahman - 2012-01-18, 03:53
[No subject] - by bossanova808 - 2012-01-18, 03:54
[No subject] - by ya.rahman - 2012-01-18, 04:27
[No subject] - by bossanova808 - 2012-01-18, 04:29
[No subject] - by bossanova808 - 2012-01-19, 14:41
[No subject] - by fastdump - 2012-01-20, 02:42
[No subject] - by bossanova808 - 2012-01-20, 05:41
[No subject] - by bossanova808 - 2012-01-20, 13:53
[No subject] - by bossanova808 - 2012-01-22, 07:01
[No subject] - by bossanova808 - 2012-01-22, 07:28
[No subject] - by blaher - 2012-01-25, 08:49
[No subject] - by bossanova808 - 2012-01-25, 11:18
[No subject] - by fastdump - 2012-01-26, 03:31
[No subject] - by blaher - 2012-01-26, 04:06
[No subject] - by bossanova808 - 2012-01-26, 04:55
[No subject] - by Troyp42 - 2012-01-29, 04:41
[No subject] - by bossanova808 - 2012-01-29, 05:19
[No subject] - by bossanova808 - 2012-01-29, 05:23
[No subject] - by bossanova808 - 2012-01-29, 06:03
[No subject] - by Troyp42 - 2012-01-29, 07:28
[No subject] - by Troyp42 - 2012-01-29, 13:07
[No subject] - by bossanova808 - 2012-01-30, 01:38
[No subject] - by Troyp42 - 2012-01-30, 03:33
[No subject] - by fastdump - 2012-01-30, 13:22
[No subject] - by Troyp42 - 2012-01-31, 08:20
[No subject] - by bossanova808 - 2012-01-31, 08:25
[No subject] - by Troyp42 - 2012-01-31, 23:48
[No subject] - by Freakish - 2012-02-01, 01:06
[No subject] - by bossanova808 - 2012-02-01, 01:10
[No subject] - by Freakish - 2012-02-01, 01:32
[No subject] - by bossanova808 - 2012-02-01, 01:36
[No subject] - by Freakish - 2012-02-01, 01:57
[No subject] - by bossanova808 - 2012-02-01, 02:02
[No subject] - by kozak069 - 2012-02-05, 02:37
[No subject] - by bossanova808 - 2012-02-05, 04:28
[No subject] - by kozak069 - 2012-02-05, 10:30
[No subject] - by bossanova808 - 2012-02-05, 10:37
[No subject] - by bossanova808 - 2012-02-08, 03:08
[No subject] - by bossanova808 - 2012-02-10, 06:19
[No subject] - by GiJOr33 - 2012-02-17, 06:39
Link not working? - by Manicman - 2012-02-26, 08:06
[No subject] - by scotia - 2012-02-27, 04:56
[No subject] - by bossanova808 - 2012-02-27, 05:14
[No subject] - by bossanova808 - 2012-02-27, 05:32
[No subject] - by bossanova808 - 2012-02-27, 05:33
[No subject] - by scotia - 2012-02-27, 05:48
[No subject] - by bossanova808 - 2012-02-27, 05:49
script modification to handle www.weatherzone.com.au - by scotia - 2012-02-27, 06:56
[No subject] - by bossanova808 - 2012-02-27, 07:18
[No subject] - by scotia - 2012-02-27, 07:19
[No subject] - by bossanova808 - 2012-02-27, 07:25
New code - by scotia - 2012-02-27, 07:29
[No subject] - by bossanova808 - 2012-02-27, 07:36
[No subject] - by bossanova808 - 2012-02-27, 07:43
[No subject] - by scotia - 2012-02-27, 07:49
[No subject] - by bossanova808 - 2012-02-27, 07:51
[No subject] - by scotia - 2012-02-27, 07:55
[No subject] - by bossanova808 - 2012-02-27, 08:00
OZWeather Error - by Jolly181 - 2012-03-11, 04:00
[No subject] - by bossanova808 - 2012-03-11, 05:01
[No subject] - by bossanova808 - 2012-03-11, 05:30
[No subject] - by Jolly181 - 2012-03-11, 06:08
[No subject] - by bossanova808 - 2012-03-11, 06:15
[No subject] - by bossanova808 - 2012-03-11, 06:15
[No subject] - by Jolly181 - 2012-03-11, 06:19
Neon compatible MyWeather.xml - by User 35611 - 2012-04-07, 14:51
peakay - by peakay - 2015-12-28, 14:06
peakay - by peakay - 2015-12-29, 02:45
OzWeather not working - by awfma - 2023-09-06, 08:47
Logout Mark Read Team Forum Stats Members Help
OzWeather - Australian Weather Addon using BOM data inc. animated radar support5