Re: parsing RSS XML feed for item value

2013-11-20 Thread Larry Wilson
 feed.entries[0].w_current
{'temperature': u'20.3', 'dewpoint': u'18.6', 'windgusts': u'29.6', 'rain': 
u'0.6', 'humidity': u'90', 'pressure': u'0.0', 'windspeed': u'22.2', 
'winddirection': u'SSW'}


in the above I get the subitem as shown. How do I extract the label, values 
pairs?
-- 
https://mail.python.org/mailman/listinfo/python-list


Fwd: parsing RSS XML feed for item value

2013-11-20 Thread Neil Cerutti
Larry Wilson itd...@gmail.com via python.org
10:39 PM (10 hours ago) wrote:

 Wanting to parse out the the temperature value in the
 w:current element, just after the guid element using
 ElementTree or xml.sax.

Since you aren't building up a complex data structure, xml.sax
will be an OK choice.

Here's a quick and dirty job:

import io
import xml.sax as sax

the_xml = io.StringIO(SNIPPED XML)

class WeatherHandler(sax.handler.ContentHandler):
def startDocument(self):
self.temperatures = []

def startElement(self, name, attrs):
if name == 'w:current': # Nice namespace handling, eh?
self.temperatures.append(attrs)


handler = WeatherHandler()
sax.parse(the_xml, handler)
for temp in handler.temperatures:
for key, val in temp.items():
print({}: {}.format(key, val))

Output (from your example):

windGusts: 29.6
dewPoint: 18.6
pressure: 0.0
windDirection: SSW
humidity: 90
rain: 0.6
temperature: 20.3
windSpeed: 22.2

For most jobs you would want to keep track of your nesting level, but
that's left out here. I didn't try to capture location or info you
might want but didn't specify, either; left that as an exercise.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: parsing RSS XML feed for item value

2013-11-20 Thread xDog Walker
On Wednesday 2013 November 20 05:44, Larry Wilson wrote:
 {'temperature': u'20.3', 'dewpoint': u'18.6', 'windgusts': u'29.6', 'rain':
 u'0.6', 'humidity': u'90', 'pressure': u'0.0', 'windspeed': u'22.2',
 'winddirection': u'SSW'}
Python 2.7.2 (default, Oct 10 2011, 10:47:36)
[GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2
Type help, copyright, credits or license for more information.
 w_current = {'temperature': u'20.3', 'dewpoint': u'18.6', 'windgusts': 
u'29.6', 'rain': u'0.6', 'humidity': u'90', 'pressure': u'0.0', 'windspeed': 
u'22.2', 'winddirection': u'SSW'}
 for label, value in w_current.iteritems():
... print label, value
...
pressure 0.0
windspeed 22.2
temperature 20.3
dewpoint 18.6
windgusts 29.6
winddirection SSW
rain 0.6
humidity 90
 

-- 
Yonder nor sorghum stenches shut ladle gulls stopper torque wet 
strainers.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: parsing RSS XML feed for item value

2013-11-20 Thread xDog Walker
On Wednesday 2013 November 20 05:44, Larry Wilson wrote:
  feed.entries[0].w_current

 {'temperature': u'20.3', 'dewpoint': u'18.6', 'windgusts': u'29.6', 'rain':
 u'0.6', 'humidity': u'90', 'pressure': u'0.0', 'windspeed': u'22.2',
 'winddirection': u'SSW'}


 in the above I get the subitem as shown. How do I extract the label, values
 pairs?

Python 3.3.0 (default, Sep 30 2012, 09:02:56)
[GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux
Type help, copyright, credits or license for more information.
 w_current = {'temperature': u'20.3', 'dewpoint': u'18.6', 'windgusts': 
u'29.6', 'rain': u'0.6', 'humidity': u'90', 'pressure': u'0.0', 'windspeed': 
u'22.2', 'winddirection': u'SSW'}
 for label, value in w_current.items():
...print (label, value)
...
dewpoint 18.6
temperature 20.3
rain 0.6
pressure 0.0
windspeed 22.2
humidity 90
winddirection SSW
windgusts 29.6

-- 
Yonder nor sorghum stenches shut ladle gulls stopper torque wet 
strainers.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: parsing RSS XML feed for item value

2013-11-20 Thread Larry Wilson
Thank you folks, now I know what I don't know and have a solution. 
-- 
https://mail.python.org/mailman/listinfo/python-list


parsing RSS XML feed for item value

2013-11-19 Thread Larry Wilson
Wanting to parse out the the temperature value in the w:current element, 
just after the guid element using ElementTree or xml.sax. 

Still learning python and getting to know the XML terminology, so need to ask 
for help, many thank in advance.


This RSS is from http://rss.weather.com.au/nsw/newcastle;
===
?xml version=1.0 encoding=ISO-8859-1?
!-- Weather.com.au RSS Feed must be used in accordance with the terms and 
conditions listed at http://www.weather.com.au/about/rss --
rss version=2.0 xmlns:w=http://rss.weather.com.au/w.dtd;
channel
titleWeather.com.au - Newcastle Weather/title
linkhttp://www.weather.com.au/nsw/newcastle/link
descriptionCurrent conditions and forecast for Newcastle, New 
South Wales./description
languageen-au/language
copyrightCopyright 2013 - Weather.com.au Pty Ltd/copyright
pubDateTue, 19 Nov 2013 05:00:00 GMT/pubDate
lastBuildDateTue, 19 Nov 2013 05:00:00 GMT/lastBuildDate
ttl15/ttl
item
titleNewcastle Current Conditions/title

linkhttp://www.weather.com.au/nsw/newcastle/current/link
description
![CDATA[
bTemperature:/b 20.3deg;Cbr /
bDew Point:/b 18.6deg;Cbr /
bRelative Humidity:/b 90%br /
bWind Speed:/b 22.2km/hbr /
bWind Gusts:/b 29.6km/hbr /
bWind Direction:/b SSWbr /
bPressure:/b 0.0hPabr /
bRain Since 9AM:/b 0.6mmbr /
]]
/description
pubDateTue, 19 Nov 2013 05:00:00 GMT/pubDate
guid isPermaLink=falseC1384837200/guid
w:current temperature=20.3 dewPoint=18.6 
humidity=90 windSpeed=22.2 windGusts=29.6 windDirection=SSW 
pressure=0.0 rain=0.6 /
/item
item
...etc
===
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: parsing RSS XML feed for item value

2013-11-19 Thread xDog Walker
On Tuesday 2013 November 19 19:39, Larry Wilson wrote:
 Wanting to parse out the the temperature value in the w:current
 element, just after the guid element using ElementTree or xml.sax.

When you get tired of that, take a look at Universal Feedparser, a Python
Package:

http://code.google.com/p/feedparser/

http://packages.python.org/feedparser

-- 
Yonder nor sorghum stenches shut ladle gulls stopper torque wet 
strainers.


-- 
https://mail.python.org/mailman/listinfo/python-list