Lars Gustäbel l...@gustaebel.de added the comment:
I have just committed the fix. I hope that this code is now more robust. See
r81667 (trunk) and r81670 (py3k).
Thank you very much for your report!
--
resolution: - accepted
stage: - committed/rejected
status: open - closed
Changes by Lars Gustäbel l...@gustaebel.de:
--
assignee: - lars.gustaebel
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue8741
___
___
Senthil Kumaran orsent...@gmail.com added the comment:
This is a platform specific bug. It is happening only on windows.
BTW, makelink should not have been called for this file, because it
is not a link or symlink, but a regular file.
--
nosy: +orsenthil
Lars Gustäbel l...@gustaebel.de added the comment:
@senthil: Yes, this is a platform-specific problem. The code that is failing is
in fact supposed to somehow emulate symlink and hardlink extraction on
platforms that don't support these, e.g. Windows. What tarfile is trying to do
here is to
Sridhar Ratnakumar sridh...@activestate.com added the comment:
Thanks - just a suggestion: it may be a good idea to add a test case for this
makelink emulation code.
Also, any thoughts on raising (a derived class of) TarError instead of IOError?
--
New submission from Sridhar Ratnakumar sridh...@activestate.com:
Repro steps:
Download http://appropriatesoftware.net/provide/docs/eternity-0.13.tar.gz (via
'eternity' module in PyPI) and look at the following command line session:
C:\Temp\tfbugpython27 -c import tarfile as T;
Sridhar Ratnakumar sridh...@activestate.com added the comment:
The actual exception caught (before it was ignored and a generic IOError was
thrown) was this:
File C:\Python27\lib\tarfile.py, line 2168, in _extract_member
self.makelink(tarinfo, targetpath)
File
Sridhar Ratnakumar sridh...@activestate.com added the comment:
Aside: why is the original exception ignored, and instead a generic IOError is
thrown? Why not use one of the exceptions inheriting `TarError`, so that
application code can reliably catch these errors?
--