summaryrefslogtreecommitdiff
path: root/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch')
-rw-r--r--dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch b/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch
new file mode 100644
index 00000000000..e84256f3dc4
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch
@@ -0,0 +1,30 @@
+--- a/docutils/writers/odf_odt/__init__.py
++++ b/docutils/writers/odf_odt/__init__.py
+@@ -88,16 +88,20 @@
+ # that support for the ability to get the parent of an element.
+ #
+ if WhichElementTree == 'elementtree':
+- class _ElementInterfaceWrapper(etree._ElementInterface):
++ import weakref
++ _parents = weakref.WeakKeyDictionary()
++ if isinstance(etree.Element, type):
++ _ElementInterface = etree.Element
++ else:
++ _ElementInterface = etree._ElementInterface
++ class _ElementInterfaceWrapper(_ElementInterface):
+ def __init__(self, tag, attrib=None):
+- etree._ElementInterface.__init__(self, tag, attrib)
+- if attrib is None:
+- attrib = {}
+- self.parent = None
++ _ElementInterface.__init__(self, tag, attrib)
++ _parents[self] = None
+ def setparent(self, parent):
+- self.parent = parent
++ _parents[self] = parent
+ def getparent(self):
+- return self.parent
++ return _parents[self]
+
+
+ #