Richard PALO added the comment:

I notice similar problems, as found when running the test suite for lxml 3.5.0 
on python2.7

======================================================================
ERROR: test_etree_parse_io_error (lxml.tests.test_io.ETreeIOTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/local/lib/python2.7/unittest/case.py", line 329, in run
    testMethod()
  File 
"/tmp/pkgsrc/textproc/py-lxml/work/lxml-3.5.0/src/lxml/tests/test_io.py", line 
276, in test_etree_parse_io_error
    dn = tempfile.mkdtemp(prefix=dirnameRU)
  File "/opt/local/lib/python2.7/tempfile.py", line 339, in mkdtemp
    _os.mkdir(file, 0700)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 40-53: 
ordinal not in range(128)

======================================================================
ERROR: test_etree_parse_io_error (lxml.tests.test_io.ElementTreeIOTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/local/lib/python2.7/unittest/case.py", line 329, in run
    testMethod()
  File 
"/tmp/pkgsrc/textproc/py-lxml/work/lxml-3.5.0/src/lxml/tests/test_io.py", line 
276, in test_etree_parse_io_error
    dn = tempfile.mkdtemp(prefix=dirnameRU)
  File "/opt/local/lib/python2.7/tempfile.py", line 339, in mkdtemp
    _os.mkdir(file, 0700)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 40-53: 
ordinal not in range(128)


the code snippet is in test_io.py", line 276

   266      def test_etree_parse_io_error(self):
   267          # this is a directory name that contains characters beyond 
latin-1
   268          dirnameEN = _str('Directory')
   269          dirnameRU = _str('КÐ\260Ñ\032Ð\260Ð\273Ð\276Ð\263')
   270          filename = _str('nosuchfile.xml')
   271          dn = tempfile.mkdtemp(prefix=dirnameEN)
   272          try:
   273              self.assertRaises(IOError, self.etree.parse, 
os.path.join(dn, filename))
   274          finally:
   275              os.rmdir(dn)
   276          dn = tempfile.mkdtemp(prefix=dirnameRU)
   277          try:
   278              self.assertRaises(IOError, self.etree.parse, 
os.path.join(dn, filename))
   279          finally:
   280              os.rmdir(dn)

even if I change dirnameRU to a simple French 'Répertoire' I still get errors...

It is not an option to upgrade to 3.0, sorry.

BTW, I tried passing dirnameRU.encode('utf-8') but that just generates
a different error:

ERROR: test_etree_parse_io_error (lxml.tests.test_io.ETreeIOTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/local/lib/python2.7/unittest/case.py", line 329, in run
    testMethod()
  File 
"/tmp/pkgsrc/textproc/py-lxml/work/lxml-3.5.0/src/lxml/tests/test_io.py", line 
278, in test_etree_parse_io_error
    self.assertRaises(IOError, self.etree.parse, os.path.join(dn, filename))
  File "/opt/local/lib/python2.7/posixpath.py", line 73, in join
    path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 40: 
ordinal not in range(128)

----------
nosy: +risto3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23315>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to