# HG changeset patch
# User paulo
# Date 1434085414 25200
# Node ID ae0f2f438a95977c9cfd455ed56e80ad45f77e51
# Parent  66a232bae83c3b1a1d907cb036ff0a71f57a253c
myrss: add support for new "purl" RSS type

diff -r 66a232bae83c -r ae0f2f438a95 myrss/myrss_app.py
--- a/myrss/myrss_app.py	Thu Jun 11 21:25:03 2015 -0700
+++ b/myrss/myrss_app.py	Thu Jun 11 22:03:34 2015 -0700
@@ -87,6 +87,23 @@
 	return (title, link, items)
 
 
+def _go_purl_rss(elementTree):
+	ns = "http://purl.org/rss/1.0/"
+
+	title = _strip_if_not_none(elementTree.find("{%s}channel/{%s}title" % (ns, ns)).text)
+	link = elementTree.find("{%s}channel/{%s}link" % (ns, ns)).text
+
+	items = []
+
+	for i in elementTree.findall("{%s}item" % ns)[:MAX_ITEMS]:
+		it_title = _strip_if_not_none(i.find("{%s}title" % ns).text)
+		it_link = i.find("{%s}link" % ns).text
+
+		items.append((it_title, it_link))
+
+	return (title, link, items)
+
+
 _STRIP_HTML_RE = re.compile(r"<.*?>")
 _htmlParser = HTMLParser.HTMLParser()
 
@@ -159,6 +176,8 @@
 			raise NotImplementedError("Unsupported rss version")
 	elif parsed_root_tag == ("http://www.w3.org/2005/Atom", "feed"):
 		ret = _go_atom(elementTree)
+	elif parsed_root_tag == ("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "RDF"):
+		ret = _go_purl_rss(elementTree)
 	else:
 		raise NotImplementedError("Unknown root tag")