summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2017-02-19 20:34:08 +0000
committerMichael Williamson <mike@zwobble.org>2017-02-19 20:34:08 +0000
commit69a22cd213452838ed478367d46705f8fda3752d (patch)
treeefc204fe28548fadd946232aac1e39d7e6a17bcc
parente23fe00ff2a8fb3c796bfcc600dcc58dba902fa5 (diff)
Remove read() from BodyReader
-rw-r--r--mammoth/docx/body_xml.py17
-rw-r--r--tests/docx/body_xml_tests.py13
2 files changed, 15 insertions, 15 deletions
diff --git a/mammoth/docx/body_xml.py b/mammoth/docx/body_xml.py
index 6c2c501..e8315ac 100644
--- a/mammoth/docx/body_xml.py
+++ b/mammoth/docx/body_xml.py
@@ -18,7 +18,7 @@ def reader(numbering=None,
if styles is None:
styles = Styles({}, {})
- read, read_all = _create_reader(
+ read_all = _create_reader(
numbering=numbering,
content_types=content_types,
relationships=relationships,
@@ -26,23 +26,14 @@ def reader(numbering=None,
docx_file=docx_file,
files=files,
)
- return _BodyReader(read, read_all)
+ return _BodyReader(read_all)
class _BodyReader(object):
- def __init__(self, read, read_all):
- self._read = read
+ def __init__(self, read_all):
self._read_all = read_all
- def read(self, element):
- result = self._read(element)
- if result.elements:
- element = result.elements[0]
- else:
- element = None
- return results.Result(element, result.messages)
-
def read_all(self, elements):
result = self._read_all(elements)
return results.Result(result.elements, result.messages)
@@ -407,7 +398,7 @@ def _create_reader(numbering, content_types, relationships, styles, docx_file, f
elements = filter(lambda node: isinstance(node, XmlElement), nodes)
return _ReadResult.concat(lists.map(read, elements))
- return read, _read_xml_elements
+ return _read_xml_elements
def _inner_text(node):
diff --git a/tests/docx/body_xml_tests.py b/tests/docx/body_xml_tests.py
index 02d8b85..0d08242 100644
--- a/tests/docx/body_xml_tests.py
+++ b/tests/docx/body_xml_tests.py
@@ -733,7 +733,7 @@ class ReadXmlElementTests(object):
def _read_and_get_document_xml_element(*args, **kwargs):
return _read_and_get_document_xml(
- lambda reader, element: reader.read(element),
+ lambda reader, element: reader.read_all([element]).map(single),
*args,
**kwargs)
@@ -754,7 +754,7 @@ def _read_and_get_document_xml(func, *args, **kwargs):
def _read_document_xml_element(*args, **kwargs):
return _read_document_xml(
- lambda reader, element: reader.read(element),
+ lambda reader, element: reader.read_all([element]).map(single),
*args,
**kwargs)
@@ -853,3 +853,12 @@ def w_gridspan(val):
def w_vmerge(val):
return xml_element("w:vMerge", {"w:val": val})
+
+
+def single(values):
+ if len(values) == 0:
+ return None
+ elif len(values) == 1:
+ return values[0]
+ else:
+ raise Exception("Had {0} elements".format(len(values)))