diff --git a/et_xmlfile/__init__.py b/et_xmlfile/__init__.py index 69e8adf8ac3713973315956f308860024bf9da95_ZXRfeG1sZmlsZS9fX2luaXRfXy5weQ==..9e8a9907507657cb2ea7fc51ab562b2b994c9fe5_ZXRfeG1sZmlsZS9fX2luaXRfXy5weQ== 100644 --- a/et_xmlfile/__init__.py +++ b/et_xmlfile/__init__.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from .xmlfile import xmlfile \ No newline at end of file diff --git a/et_xmlfile/tests/test_incremental_xmlfile.py b/et_xmlfile/tests/test_incremental_xmlfile.py index 69e8adf8ac3713973315956f308860024bf9da95_ZXRfeG1sZmlsZS90ZXN0cy90ZXN0X2luY3JlbWVudGFsX3htbGZpbGUucHk=..9e8a9907507657cb2ea7fc51ab562b2b994c9fe5_ZXRfeG1sZmlsZS90ZXN0cy90ZXN0X2luY3JlbWVudGFsX3htbGZpbGUucHk= 100644 --- a/et_xmlfile/tests/test_incremental_xmlfile.py +++ b/et_xmlfile/tests/test_incremental_xmlfile.py @@ -12,9 +12,10 @@ import tempfile, os, sys from .common_imports import HelperTestCase, skipIf -from .. import xmlfile as etree +from et_xmlfile import xmlfile +from et_xmlfile.xmlfile import LxmlSyntaxError import pytest from .helper import compare_xml import xml.etree.ElementTree @@ -16,11 +17,9 @@ import pytest from .helper import compare_xml import xml.etree.ElementTree - -# _parse_file needs parse routine - take it from ElementTree -etree.parse = xml.etree.ElementTree.parse +from xml.etree.ElementTree import Element, parse class _XmlFileTestCaseBase(HelperTestCase): @@ -30,9 +29,9 @@ self._file = BytesIO() def test_element(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): pass self.assertXml('<test></test>') def test_element_write_text(self): @@ -34,11 +33,11 @@ with xf.element('test'): pass self.assertXml('<test></test>') def test_element_write_text(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): xf.write('toast') self.assertXml('<test>toast</test>') def test_element_nested(self): @@ -40,9 +39,9 @@ with xf.element('test'): xf.write('toast') self.assertXml('<test>toast</test>') def test_element_nested(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): with xf.element('toast'): with xf.element('taste'): @@ -50,7 +49,7 @@ self.assertXml('<test><toast><taste>conTent</taste></toast></test>') def test_element_nested_with_text(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): xf.write('con') with xf.element('toast'): @@ -63,8 +62,8 @@ 'tnet</toast>noc</test>') def test_write_Element(self): - with etree.xmlfile(self._file) as xf: - xf.write(etree.Element('test')) + with xmlfile(self._file) as xf: + xf.write(Element('test')) self.assertXml('<test/>') def test_write_Element_repeatedly(self): @@ -68,8 +67,8 @@ self.assertXml('<test/>') def test_write_Element_repeatedly(self): - element = etree.Element('test') - with etree.xmlfile(self._file) as xf: + element = Element('test') + with xmlfile(self._file) as xf: with xf.element('test'): for i in range(100): xf.write(element) @@ -80,9 +79,9 @@ self.assertEqual(set(['test']), set(el.tag for el in tree.getroot())) def test_namespace_nsmap(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('{nsURI}test', nsmap={'x': 'nsURI'}): pass self.assertXml('<x:test xmlns:x="nsURI"></x:test>') def test_namespace_nested_nsmap(self): @@ -84,12 +83,12 @@ with xf.element('{nsURI}test', nsmap={'x': 'nsURI'}): pass self.assertXml('<x:test xmlns:x="nsURI"></x:test>') def test_namespace_nested_nsmap(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test', nsmap={'x': 'nsURI'}): with xf.element('{nsURI}toast'): pass self.assertXml('<test xmlns:x="nsURI"><x:toast></x:toast></test>') def test_anonymous_namespace(self): @@ -90,12 +89,12 @@ with xf.element('test', nsmap={'x': 'nsURI'}): with xf.element('{nsURI}toast'): pass self.assertXml('<test xmlns:x="nsURI"><x:toast></x:toast></test>') def test_anonymous_namespace(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('{nsURI}test'): pass self.assertXml('<ns0:test xmlns:ns0="nsURI"></ns0:test>') def test_namespace_nested_anonymous(self): @@ -97,12 +96,12 @@ with xf.element('{nsURI}test'): pass self.assertXml('<ns0:test xmlns:ns0="nsURI"></ns0:test>') def test_namespace_nested_anonymous(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): with xf.element('{nsURI}toast'): pass self.assertXml('<test><ns0:toast xmlns:ns0="nsURI"></ns0:toast></test>') def test_default_namespace(self): @@ -103,12 +102,12 @@ with xf.element('test'): with xf.element('{nsURI}toast'): pass self.assertXml('<test><ns0:toast xmlns:ns0="nsURI"></ns0:toast></test>') def test_default_namespace(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('{nsURI}test', nsmap={None: 'nsURI'}): pass self.assertXml('<test xmlns="nsURI"></test>') def test_nested_default_namespace(self): @@ -110,9 +109,9 @@ with xf.element('{nsURI}test', nsmap={None: 'nsURI'}): pass self.assertXml('<test xmlns="nsURI"></test>') def test_nested_default_namespace(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('{nsURI}test', nsmap={None: 'nsURI'}): with xf.element('{nsURI}toast'): pass @@ -120,11 +119,12 @@ @pytest.mark.xfail def test_pi(self): - with etree.xmlfile(self._file) as xf: - xf.write(etree.ProcessingInstruction('pypi')) + from et_xmlfile.xmlfile import ProcessingInstruction + with xmlfile(self._file) as xf: + xf.write(ProcessingInstruction('pypi')) with xf.element('test'): pass self.assertXml('<?pypi ?><test></test>') @pytest.mark.xfail def test_comment(self): @@ -125,13 +125,13 @@ with xf.element('test'): pass self.assertXml('<?pypi ?><test></test>') @pytest.mark.xfail def test_comment(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: xf.write(etree.Comment('a comment')) with xf.element('test'): pass self.assertXml('<!--a comment--><test></test>') def test_attribute(self): @@ -132,12 +132,12 @@ xf.write(etree.Comment('a comment')) with xf.element('test'): pass self.assertXml('<!--a comment--><test></test>') def test_attribute(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test', attrib={'k': 'v'}): pass self.assertXml('<test k="v"></test>') def test_escaping(self): @@ -139,9 +139,9 @@ with xf.element('test', attrib={'k': 'v'}): pass self.assertXml('<test k="v"></test>') def test_escaping(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): xf.write('Comments: <!-- text -->\n') xf.write('Entities: &') @@ -150,10 +150,10 @@ @pytest.mark.xfail def test_encoding(self): - with etree.xmlfile(self._file, encoding='utf16') as xf: + with xmlfile(self._file, encoding='utf16') as xf: with xf.element('test'): xf.write('toast') self.assertXml('<test>toast</test>', encoding='utf16') @pytest.mark.xfail def test_buffering(self): @@ -154,10 +154,10 @@ with xf.element('test'): xf.write('toast') self.assertXml('<test>toast</test>', encoding='utf16') @pytest.mark.xfail def test_buffering(self): - with etree.xmlfile(self._file, buffered=False) as xf: + with xmlfile(self._file, buffered=False) as xf: with xf.element('test'): self.assertXml("<test>") xf.write('toast') @@ -174,7 +174,7 @@ @pytest.mark.xfail def test_flush(self): - with etree.xmlfile(self._file, buffered=True) as xf: + with xmlfile(self._file, buffered=True) as xf: with xf.element('test'): self.assertXml("") xf.write('toast') @@ -189,5 +189,5 @@ def test_failure_preceding_text(self): try: - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: xf.write('toast') @@ -193,7 +193,7 @@ xf.write('toast') - except etree.LxmlSyntaxError: + except LxmlSyntaxError: self.assertTrue(True) else: self.assertTrue(False) def test_failure_trailing_text(self): @@ -195,10 +195,10 @@ self.assertTrue(True) else: self.assertTrue(False) def test_failure_trailing_text(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): pass try: xf.write('toast') @@ -201,10 +201,10 @@ with xf.element('test'): pass try: xf.write('toast') - except etree.LxmlSyntaxError: + except LxmlSyntaxError: self.assertTrue(True) else: self.assertTrue(False) def test_failure_trailing_Element(self): @@ -206,9 +206,9 @@ self.assertTrue(True) else: self.assertTrue(False) def test_failure_trailing_Element(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): pass try: @@ -212,8 +212,8 @@ with xf.element('test'): pass try: - xf.write(etree.Element('test')) - except etree.LxmlSyntaxError: + xf.write(Element('test')) + except LxmlSyntaxError: self.assertTrue(True) else: self.assertTrue(False) @@ -222,7 +222,7 @@ def test_closing_out_of_order_in_error_case(self): cm_exit = None try: - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: x = xf.element('test') cm_exit = x.__exit__ x.__enter__() @@ -231,7 +231,7 @@ self.assertTrue(cm_exit) try: cm_exit(ValueError, ValueError("huhu"), None) - except etree.LxmlSyntaxError: + except LxmlSyntaxError: self.assertTrue(True) else: self.assertTrue(False) @@ -250,7 +250,7 @@ pos = self._file.tell() self._file.seek(0) try: - return etree.parse(self._file) + return parse(self._file) finally: self._file.seek(pos) @@ -268,7 +268,7 @@ self._file = BytesIO() def test_filelike_close(self): - with etree.xmlfile(self._file, close=True) as xf: + with xmlfile(self._file, close=True) as xf: with xf.element('test'): pass self.assertRaises(ValueError, self._file.getvalue) @@ -297,7 +297,7 @@ def _parse_file(self): self._tmpfile.seek(0) - return etree.parse(self._tmpfile) + return parse(self._tmpfile) @skipIf(True, "temp file behaviour is too platform specific here") def test_buffering(self): @@ -333,8 +333,8 @@ pos = self._file.tell() self._target.seek(0) try: - return etree.parse(self._target) + return parse(self._target) finally: self._target.seek(pos) def test_filelike_not_closing(self): @@ -337,10 +337,10 @@ finally: self._target.seek(pos) def test_filelike_not_closing(self): - with etree.xmlfile(self._file) as xf: + with xmlfile(self._file) as xf: with xf.element('test'): pass self.assertFalse(self._file.closed) def test_filelike_close(self): @@ -342,9 +342,9 @@ with xf.element('test'): pass self.assertFalse(self._file.closed) def test_filelike_close(self): - with etree.xmlfile(self._file, close=True) as xf: + with xmlfile(self._file, close=True) as xf: with xf.element('test'): pass self.assertTrue(self._file.closed) diff --git a/et_xmlfile/xmlfile.py b/et_xmlfile/xmlfile.py index 69e8adf8ac3713973315956f308860024bf9da95_ZXRfeG1sZmlsZS94bWxmaWxlLnB5..9e8a9907507657cb2ea7fc51ab562b2b994c9fe5_ZXRfeG1sZmlsZS94bWxmaWxlLnB5 100644 --- a/et_xmlfile/xmlfile.py +++ b/et_xmlfile/xmlfile.py @@ -6,7 +6,6 @@ from contextlib import contextmanager -#from openpyxl.xml.functions import Element, tostring from xml.etree.ElementTree import Element, tostring