summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Mayer <entroP@gmail.com>2013-05-31 16:08:53 -0700
committerJustin Mayer <entroP@gmail.com>2013-05-31 16:08:53 -0700
commit55925638dbb8a81eba6303be2cae432449d7b8ff (patch)
tree39278a859fedaaf851c70c764e7819215e494dd1
parent43c8a850873d4be4f39310fd123b566729986050 (diff)
parentc2ecbfae264d60acc2e810ece8bf2f3c30a64b8b (diff)
downloadfeedgenerator-55925638dbb8a81eba6303be2cae432449d7b8ff.tar.gz
Merge branch 'master' of dmdm/feedgenerator-py3k
Preparing for 1.6 release
-rw-r--r--feedgenerator/django/utils/feedgenerator.py4
-rw-r--r--feedgenerator/django/utils/xmlutils.py11
-rw-r--r--setup.py3
-rw-r--r--tests_feedgenerator/test_feedgenerator.py6
-rw-r--r--tests_feedgenerator/test_stringio.py2
-rw-r--r--tox.ini6
6 files changed, 25 insertions, 7 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..fc1be2b 100644
--- a/feedgenerator/django/utils/xmlutils.py
+++ b/feedgenerator/django/utils/xmlutils.py
@@ -2,7 +2,9 @@
Utilities for XML generation/parsing.
"""
-from xml.sax.saxutils import XMLGenerator
+import six
+
+from xml.sax.saxutils import XMLGenerator, quoteattr
class SimplerXMLGenerator(XMLGenerator):
def addQuickElement(self, name, contents=None, attrs=None):
@@ -12,3 +14,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(six.u('>'))
diff --git a/setup.py b/setup.py
index 9fdf341..4977ef3 100644
--- a/setup.py
+++ b/setup.py
@@ -32,7 +32,7 @@ MAINTAINER_EMAIL = 'dm@parenchym.com'
KEYWORDS = "feed atom rss".split(' ')
VERSION = '1.5'
-TEST_SUITE = 'tests'
+TEST_SUITE = 'tests_feedgenerator'
REQUIRES = ['pytz', 'six']
@@ -52,4 +52,5 @@ setup(
keywords=KEYWORDS,
url=URL,
classifiers=CLASSIFIERS,
+ zip_safe=False,
)
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):
diff --git a/tox.ini b/tox.ini
index 3e1b33e..da497db 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py26,py27,py32
+envlist = py26,py27,py32,py33
[testenv]
commands = unit2 discover
@@ -15,3 +15,7 @@ deps =
[testenv:py32]
deps =
unittest2py3k
+
+[testenv:py33]
+deps =
+ unittest2py3k