summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Makowski <dmakowski@gmx.net>2013-05-19 08:41:55 +0200
committerDirk Makowski <dmakowski@gmx.net>2013-05-19 08:41:55 +0200
commit8cf722a01ef7466dd0266508a36cd86045d2727f (patch)
treeec64d97a67ca763622137f6e413a94651ed0c383
parent05164e48c972feac2a3d8b16cbc22e66ca540418 (diff)
parent4e32ba3ed95422d09e544add05215c43458ea726 (diff)
downloadfeedgenerator-8cf722a01ef7466dd0266508a36cd86045d2727f.tar.gz
Merge branch 'master' of https://github.com/dmdm/feedgenerator-py3k
-rw-r--r--feedgenerator/django/utils/feedgenerator.py4
-rw-r--r--feedgenerator/django/utils/xmlutils.py9
-rw-r--r--tests_feedgenerator/test_feedgenerator.py6
-rw-r--r--tests_feedgenerator/test_stringio.py2
4 files changed, 16 insertions, 5 deletions
diff --git a/feedgenerator/django/utils/feedgenerator.py b/feedgenerator/django/utils/feedgenerator.py
index 54bc7ed..e8e4d87 100644
--- a/feedgenerator/django/utils/feedgenerator.py
+++ b/feedgenerator/django/utils/feedgenerator.py
@@ -220,8 +220,8 @@ class RssFeed(SyndicationFeed):
handler.endElement("rss")
def rss_attributes(self):
- return {"version": self._version,
- "xmlns:atom": "http://www.w3.org/2005/Atom"}
+ return {'xmlns:atom': 'http://www.w3.org/2005/Atom',
+ 'version': self._version}
def write_items(self, handler):
for item in self.items:
diff --git a/feedgenerator/django/utils/xmlutils.py b/feedgenerator/django/utils/xmlutils.py
index a1eb5fb..0ee81aa 100644
--- a/feedgenerator/django/utils/xmlutils.py
+++ b/feedgenerator/django/utils/xmlutils.py
@@ -2,7 +2,7 @@
Utilities for XML generation/parsing.
"""
-from xml.sax.saxutils import XMLGenerator
+from xml.sax.saxutils import XMLGenerator, quoteattr
class SimplerXMLGenerator(XMLGenerator):
def addQuickElement(self, name, contents=None, attrs=None):
@@ -12,3 +12,10 @@ class SimplerXMLGenerator(XMLGenerator):
if contents is not None:
self.characters(contents)
self.endElement(name)
+
+ def startElement(self, name, attrs):
+ self._write('<' + name)
+ # sort attributes for consistent output
+ for (name, value) in sorted(attrs.items()):
+ self._write(' %s=%s' % (name, quoteattr(value)))
+ self._write('>')
diff --git a/tests_feedgenerator/test_feedgenerator.py b/tests_feedgenerator/test_feedgenerator.py
index ccbf111..bce5dd4 100644
--- a/tests_feedgenerator/test_feedgenerator.py
+++ b/tests_feedgenerator/test_feedgenerator.py
@@ -29,7 +29,7 @@ FIXT_ITEM = dict(
EXPECTED_RESULT = """<?xml version="1.0" encoding="utf-8"?>
-<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Poynter E-Media Tidbits</title><link>http://www.poynter.org/column.asp?id=31</link><description>A group Weblog by the sharpest minds in online media/journalism/publishing.
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Poynter E-Media Tidbits</title><link>http://www.poynter.org/column.asp?id=31</link><description>A group Weblog by the sharpest minds in online media/journalism/publishing.
Umlauts: äöüßÄÖÜ
Chinese: 老师是四十四,是不是?
Finnish: Mustan kissan paksut posket. (ah, no special chars) Kärpänen sanoi kärpäselle: tuu kattoon kattoon ku kaveri tapettiin tapettiin.
@@ -51,6 +51,9 @@ def build_expected_result(feed, expected_result, encoding):
class TestFeedGenerator(unittest.TestCase):
+ def setUp(self):
+ self.maxDiff = None
+
def test_000_types(self):
ty = str if six.PY3 else unicode
for k, v in FIXT_FEED.items():
@@ -60,6 +63,7 @@ class TestFeedGenerator(unittest.TestCase):
self.assertEqual(type(EXPECTED_RESULT), ty)
def test_001_string_results(self):
+ #import ipdb; ipdb.set_trace()
feed = feedgenerator.Rss201rev2Feed(**FIXT_FEED)
feed.add_item(**FIXT_ITEM)
result = feed.writeString(ENCODING)
diff --git a/tests_feedgenerator/test_stringio.py b/tests_feedgenerator/test_stringio.py
index 5ba56a8..e6a1785 100644
--- a/tests_feedgenerator/test_stringio.py
+++ b/tests_feedgenerator/test_stringio.py
@@ -15,7 +15,7 @@ ENCODING = 'utf-8'
S0 = 'hello world, Umlauts: äöüßÄÖÜ, Chinese: 四是四,十是十,十四是十四,四十是四十,四十四隻不識字之石獅子是死的'
S0_BYTES = 'fe fi foe fam'.encode(ENCODING)
-print("###", StringIO, "###")
+#print("###", StringIO, "###")
class TestStringIO(unittest.TestCase):