Code:
# Grab Weathermaps from Yahoo
# Copyright (c) 2006 Edmund Ronald.         edmundronald at gmail dot com

import socket
import urllib
import e32
import appuifw

choices=[          ("http://weather.yahoo.com/images/afr_outlookf_en_GB_440_mdy_y.jpg",u"Africa"),
          ("http://weather.yahoo.com/images/afr_outlook_en_GB_440_dmy_y.jpg",u"Africa"),
          ("http://weather.yahoo.com/images/sa_argentina_outlookf_en_GB_440_mdy_y.jpg",u"Argentina"),
          ("http://weather.yahoo.com/images/sa_argentina_outlook_en_GB_440_dmy_y.jpg",u"Argentina"),
          ("http://weather.yahoo.com/images/asia_outlook_en_GB_440_dmy_y.jpg",u"Asia"),
          ("http://weather.yahoo.com/images/asia_outlookf_en_GB_440_mdy_y.jpg",u"Asia"),
          ("http://weather.yahoo.com/images/aus_outlook_en_GB_440_dmy_y.jpg",u"Australia"),
          ("http://weather.yahoo.com/images/aus_outlookf_en_GB_440_mdy_y.jpg",u"Australia"),
          ("http://weather.yahoo.com/images/eur_austria_outlook_en_GB_440_dmy_y.jpg",u"Austria"),
          ("http://weather.yahoo.com/images/eur_austria_outlookf_en_GB_440_mdy_y.jpg",u"Austria"),
          ("http://weather.yahoo.com/images/eur_belgium_outlook_en_GB_440_dmy_y.jpg",u"Belgium"),
          ("http://weather.yahoo.com/images/eur_belgium_outlookf_en_GB_440_mdy_y.jpg",u"Belgium"),
          ("http://weather.yahoo.com/images/sa_brazil_outlook_en_GB_440_dmy_y.jpg",u"Brazil"),
          ("http://weather.yahoo.com/images/sa_brazil_outlookf_en_GB_440_mdy_y.jpg",u"Brazil"),
          ("http://weather.yahoo.com/images/carib_outlook_en_GB_440_dmy_y.jpg",u"Caribbean"),
          ("http://weather.yahoo.com/images/carib_outlookf_en_GB_440_mdy_y.jpg",u"Caribbean"),
          ("http://weather.yahoo.com/images/na_canada_c_outlook_en_CA_440_dmy_y.jpg",u"Central Canada"),
          ("http://weather.yahoo.com/images/na_canada_c_outlookf_en_CA_440_mdy_y.jpg",u"Central Canada"),
          ("http://weather.yahoo.com/images/na_unitedstates_cn_outlookf_en_US_440_mdy_y.jpg",u"Central U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_cn_outlook_en_US_440_dmy_y.jpg",u"Central U.S."),
          ("http://weather.yahoo.com/images/asia_china_outlook_en_GB_440_dmy_y.jpg",u"China"),
          ("http://weather.yahoo.com/images/asia_china_outlookf_en_GB_440_mdy_y.jpg",u"China"),
          ("http://weather.yahoo.com/images/eur_denmark_outlookf_en_GB_440_mdy_y.jpg",u"Denmark"),
          ("http://weather.yahoo.com/images/eur_denmark_outlook_en_GB_440_dmy_y.jpg",u"Denmark"),
          ("http://weather.yahoo.com/images/na_unitedstates_ec_outlook_en_US_440_dmy_y.jpg",u"East Central U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_ec_outlookf_en_US_440_mdy_y.jpg",u"East Central U.S."),
          ("http://weather.yahoo.com/images/na_canada_e_outlook_en_CA_440_dmy_y.jpg",u"Eastern Canada"),
          ("http://weather.yahoo.com/images/na_canada_e_outlookf_en_CA_440_mdy_y.jpg",u"Eastern Canada"),
          ("http://weather.yahoo.com/images/eur_outlook_en_GB_440_dmy_y.jpg",u"Europe"),
          ("http://weather.yahoo.com/images/eur_outlookf_en_GB_440_mdy_y.jpg",u"Europe"),
          ("http://weather.yahoo.com/images/eur_france_outlookf_en_GB_440_mdy_y.jpg",u"France"),
          ("http://weather.yahoo.com/images/eur_france_outlook_en_GB_440_dmy_y.jpg",u"France"),
          ("http://weather.yahoo.com/images/eur_germany_outlook_en_GB_440_dmy_y.jpg",u"Germany"),
          ("http://weather.yahoo.com/images/eur_germany_outlookf_en_GB_440_mdy_y.jpg",u"Germany"),
          ("http://weather.yahoo.com/images/eur_holland_outlookf_en_GB_440_mdy_y.jpg",u"Holland"),
          ("http://weather.yahoo.com/images/eur_holland_outlook_en_GB_440_dmy_y.jpg",u"Holland"),
          ("http://weather.yahoo.com/images/asia_india_outlookf_en_GB_440_mdy_y.jpg",u"India"),
          ("http://weather.yahoo.com/images/asia_india_outlook_en_GB_440_dmy_y.jpg",u"India"),
          ("http://weather.yahoo.com/images/eur_italy_outlook_en_GB_440_dmy_y.jpg",u"Italy"),
          ("http://weather.yahoo.com/images/eur_italy_outlookf_en_GB_440_mdy_y.jpg",u"Italy"),
          ("http://weather.yahoo.com/images/asia_japan_outlook_en_GB_440_dmy_y.jpg",u"Japan"),
          ("http://weather.yahoo.com/images/asia_japan_outlookf_en_GB_440_mdy_y.jpg",u"Japan"),
          ("http://weather.yahoo.com/images/asia_korea_outlook_en_GB_440_dmy_y.jpg",u"Korea"),
          ("http://weather.yahoo.com/images/asia_korea_outlookf_en_GB_440_mdy_y.jpg",u"Korea"),
          ("http://weather.yahoo.com/images/na_mexico_outlook_en_GB_440_dmy_y.jpg",u"Mexico"),
          ("http://weather.yahoo.com/images/na_mexico_outlookf_en_GB_440_mdy_y.jpg",u"Mexico"),
          ("http://weather.yahoo.com/images/me_outlookf_en_GB_440_mdy_y.jpg",u"Middle East"),
          ("http://weather.yahoo.com/images/me_outlook_en_GB_440_dmy_y.jpg",u"Middle East"),
          ("http://weather.yahoo.com/images/aus_newzealand_outlook_en_GB_440_dmy_y.jpg",u"New Zealand"),
          ("http://weather.yahoo.com/images/aus_newzealand_outlookf_en_GB_440_mdy_y.jpg",u"New Zealand"),
          ("http://weather.yahoo.com/images/na_outlookf_en_GB_440_mdy_y.jpg",u"North America"),
          ("http://weather.yahoo.com/images/na_outlook_en_GB_440_dmy_y.jpg",u"North America"),
          ("http://weather.yahoo.com/images/na_unitedstates_nc_outlookf_en_US_440_mdy_y.jpg",u"North Central U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_nc_outlook_en_US_440_dmy_y.jpg",u"North Central U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_ne_outlookf_en_US_440_mdy_y.jpg",u"Northeast U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_ne_outlook_en_US_440_dmy_y.jpg",u"Northeast U.S."),
          ("http://weather.yahoo.com/images/na_canada_n_outlookf_en_CA_440_mdy_y.jpg",u"Northern Canada"),
          ("http://weather.yahoo.com/images/na_canada_n_outlook_en_CA_440_dmy_y.jpg",u"Northern Canada"),
          ("http://weather.yahoo.com/images/na_unitedstates_nw_outlook_en_US_440_dmy_y.jpg",u"Northwest U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_nw_outlookf_en_US_440_mdy_y.jpg",u"Northwest U.S."),
          ("http://weather.yahoo.com/images/eur_norway_outlook_en_GB_440_dmy_y.jpg",u"Norway"),
          ("http://weather.yahoo.com/images/eur_norway_outlookf_en_GB_440_mdy_y.jpg",u"Norway"),
          ("http://weather.yahoo.com/images/eur_portugal_outlook_en_GB_440_dmy_y.jpg",u"Portugal"),
          ("http://weather.yahoo.com/images/eur_portugal_outlookf_en_GB_440_mdy_y.jpg",u"Portugal"),
          ("http://weather.yahoo.com/images/asia_singapore_outlook_en_GB_440_dmy_y.jpg",u"Singapore"),
          ("http://weather.yahoo.com/images/asia_singapore_outlookf_en_GB_440_mdy_y.jpg",u"Singapore"),
          ("http://weather.yahoo.com/images/sa_outlook_en_GB_440_dmy_y.jpg",u"South America"),
          ("http://weather.yahoo.com/images/sa_outlookf_en_GB_440_mdy_y.jpg",u"South America"),
          ("http://weather.yahoo.com/images/na_unitedstates_sc_outlook_en_US_440_dmy_y.jpg",u"South Central U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_sc_outlookf_en_US_440_mdy_y.jpg",u"South Central U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_se_outlook_en_US_440_dmy_y.jpg",u"Southeast U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_se_outlookf_en_US_440_mdy_y.jpg",u"Southeast U.S."),

          ("http://weather.yahoo.com/images/na_unitedstates_sw_outlookf_en_US_440_mdy_y.jpg",u"Southwest U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_sw_outlook_en_US_440_dmy_y.jpg",u"Southwest U.S."),
          ("http://weather.yahoo.com/images/eur_spain_outlook_en_GB_440_dmy_y.jpg",u"Spain"),
          ("http://weather.yahoo.com/images/eur_spain_outlookf_en_GB_440_mdy_y.jpg",u"Spain"),
          ("http://weather.yahoo.com/images/eur_sweden_outlookf_en_GB_440_mdy_y.jpg",u"Sweden"),
          ("http://weather.yahoo.com/images/eur_sweden_outlook_en_GB_440_dmy_y.jpg",u"Sweden"),
          ("http://weather.yahoo.com/images/eur_switzerland_outlook_en_GB_440_dmy_y.jpg",u"Switzerland"),
          ("http://weather.yahoo.com/images/eur_switzerland_outlookf_en_GB_440_mdy_y.jpg",u"Switzerland"),
          ("http://weather.yahoo.com/images/asia_taiwan_outlookf_en_GB_440_mdy_y.jpg",u"Taiwan"),
          ("http://weather.yahoo.com/images/asia_taiwan_outlook_en_GB_440_dmy_y.jpg",u"Taiwan"),
          ("http://weather.yahoo.com/images/eur_unitedkingdom_outlookf_en_GB_440_mdy_y.jpg",u"United Kingdom"),
          ("http://weather.yahoo.com/images/eur_unitedkingdom_outlook_en_GB_440_dmy_y.jpg",u"United Kingdom"),
          ("http://weather.yahoo.com/images/na_unitedstates_wc_outlookf_en_US_440_mdy_y.jpg",u"West Central U.S."),
          ("http://weather.yahoo.com/images/na_unitedstates_wc_outlook_en_US_440_dmy_y.jpg",u"West Central U.S."),
          ("http://weather.yahoo.com/images/na_canada_w_outlookf_en_CA_440_mdy_y.jpg",u"Western Canada"),
          ("http://weather.yahoo.com/images/na_canada_w_outlook_en_CA_440_dmy_y.jpg",u"Western Canada")]

tempfile = "c:\\weather" +".jpg"

old_title = appuifw.app.title
appuifw.app.title = u"Yahoo Weather Forecast"

L = [ x[1] for x in choices ]
index = appuifw.popup_menu(L, u"Select picture")

if index is not None:
    url = choices[index][0]

    try:
        print "Retrieving information..."
        urllib.urlretrieve(url, tempfile)
        lock=e32.Ao_lock()
        content_handler = appuifw.Content_handler(lock.signal)
        content_handler.open(tempfile)
        # Wait for the user to exit the image viewer.
        lock.wait()
        print "Image viewer finished."
    except IOError:
        print "Could not fetch the image."
    except:
        print "Could not open data received."
        
appuifw.app.title = old_title