1 |
commit: 72ebc34dc4ff6fa2c56a3629f267b74c32723951 |
2 |
Author: Jauhien Piatlicki (jauhien) <piatlicki <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Jul 2 13:55:50 2013 +0000 |
4 |
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com> |
5 |
CommitDate: Tue Jul 2 13:55:50 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=72ebc34d |
7 |
|
8 |
py2: encoding unicode -> utf-8 (in xml.etree.ElementTree.tostring) |
9 |
|
10 |
--- |
11 |
g_sorcery/metadata.py | 2 +- |
12 |
tests/test_metadata.py | 13 ++++++++----- |
13 |
2 files changed, 9 insertions(+), 6 deletions(-) |
14 |
|
15 |
diff --git a/g_sorcery/metadata.py b/g_sorcery/metadata.py |
16 |
index da4d291..1ce8fdc 100644 |
17 |
--- a/g_sorcery/metadata.py |
18 |
+++ b/g_sorcery/metadata.py |
19 |
@@ -17,7 +17,7 @@ import xml.etree.ElementTree as ET |
20 |
import xml.dom.minidom as minidom |
21 |
|
22 |
def prettify(tree): |
23 |
- rough_str = ET.tostring(tree, 'unicode') |
24 |
+ rough_str = ET.tostring(tree, "utf-8").decode("utf-8") |
25 |
reparsed = minidom.parseString(rough_str) |
26 |
return reparsed.toprettyxml(encoding="utf-8").decode("utf-8") |
27 |
|
28 |
|
29 |
diff --git a/tests/test_metadata.py b/tests/test_metadata.py |
30 |
index 39155fb..288d8b1 100644 |
31 |
--- a/tests/test_metadata.py |
32 |
+++ b/tests/test_metadata.py |
33 |
@@ -19,6 +19,9 @@ from g_sorcery import exceptions, metadata, package_db |
34 |
|
35 |
from tests.base import BaseTest |
36 |
|
37 |
+def tostring(element): |
38 |
+ return ET.tostring(element, encoding='utf-8').decode('utf-8') |
39 |
+ |
40 |
class TestXMLGenerator(BaseTest): |
41 |
|
42 |
def test_generate(self): |
43 |
@@ -52,22 +55,22 @@ class TestXMLGenerator(BaseTest): |
44 |
xg = metadata.XMLGenerator('test_ext', schema) |
45 |
self.assertRaises(exceptions.XMLGeneratorError, xg.generate, {}) |
46 |
tree = xg.generate({'desc' : 'test xml'}) |
47 |
- self.assertEqual(ET.tostring(tree, encoding='unicode'), |
48 |
+ self.assertEqual(tostring(tree), |
49 |
'<test_ext><desc>test xml</desc></test_ext>') |
50 |
tree = xg.generate({'desc' : 'test xml', |
51 |
'contact' : {'email' : 'test@×××××××.com', |
52 |
'phone' : '00-0'}}) |
53 |
- self.assertEqual(ET.tostring(tree, encoding='unicode'), |
54 |
+ self.assertEqual(tostring(tree), |
55 |
'<test_ext><desc>test xml</desc><contact><email>test@×××××××.com\ |
56 |
</email><phone>00-0</phone></contact></test_ext>') |
57 |
tree = xg.generate({'desc' : 'test xml', |
58 |
'multiple' : ['test1', 'test2', 'test3']}) |
59 |
- self.assertEqual(ET.tostring(tree, encoding='unicode'), |
60 |
+ self.assertEqual(tostring(tree), |
61 |
'<test_ext><desc>test xml</desc><multiple>test1</multiple>\ |
62 |
<multiple>test2</multiple><multiple>test3</multiple></test_ext>') |
63 |
tree = xg.generate({'desc' : 'test xml', |
64 |
'flag' : [('flag1', 'test1'), ('flag2', 'test2')]}) |
65 |
- self.assertEqual(ET.tostring(tree, encoding='unicode'), |
66 |
+ self.assertEqual(tostring(tree), |
67 |
'<test_ext><desc>test xml</desc><flag name="flag1">test1</flag>\ |
68 |
<flag name="flag2">test2</flag></test_ext>') |
69 |
|
70 |
@@ -109,7 +112,7 @@ class TestMetadataGenerator(BaseTest): |
71 |
|
72 |
def test_process(self): |
73 |
mg = DummyMetadataGenerator(None) |
74 |
- self.assertEqual(ET.tostring(mg.process(None, description), encoding='unicode'), |
75 |
+ self.assertEqual(tostring(mg.process(None, description)), |
76 |
'<pkgmetadata><herd>test</herd><maintainer><email>test@×××××××.com</email>\ |
77 |
<name>testor</name></maintainer><longdescription>test metadata</longdescription><use>\ |
78 |
<flag name="flag1">test flag1</flag><flag name="flag2">test flag2</flag></use>\ |