Commit 47cdd2e7 authored by Mark Hammond's avatar Mark Hammond

Fix [issue4038] py3k error in distutils file_copy exception handlers. r=martin.

parent e43e2d0c
...@@ -30,31 +30,27 @@ def _copy_file_contents(src, dst, buffer_size=16*1024): ...@@ -30,31 +30,27 @@ def _copy_file_contents(src, dst, buffer_size=16*1024):
try: try:
fsrc = open(src, 'rb') fsrc = open(src, 'rb')
except os.error as e: except os.error as e:
(errno, errstr) = e raise DistutilsFileError("could not open '%s': %s" % (src, e.strerror))
raise DistutilsFileError("could not open '%s': %s" % (src, errstr))
if os.path.exists(dst): if os.path.exists(dst):
try: try:
os.unlink(dst) os.unlink(dst)
except os.error as e: except os.error as e:
(errno, errstr) = e
raise DistutilsFileError( raise DistutilsFileError(
"could not delete '%s': %s" % (dst, errstr)) "could not delete '%s': %s" % (dst, e.strerror))
try: try:
fdst = open(dst, 'wb') fdst = open(dst, 'wb')
except os.error as e: except os.error as e:
(errno, errstr) = e
raise DistutilsFileError( raise DistutilsFileError(
"could not create '%s': %s" % (dst, errstr)) "could not create '%s': %s" % (dst, e.strerror))
while True: while True:
try: try:
buf = fsrc.read(buffer_size) buf = fsrc.read(buffer_size)
except os.error as e: except os.error as e:
(errno, errstr) = e
raise DistutilsFileError( raise DistutilsFileError(
"could not read from '%s': %s" % (src, errstr)) "could not read from '%s': %s" % (src, e.strerror))
if not buf: if not buf:
break break
...@@ -62,9 +58,8 @@ def _copy_file_contents(src, dst, buffer_size=16*1024): ...@@ -62,9 +58,8 @@ def _copy_file_contents(src, dst, buffer_size=16*1024):
try: try:
fdst.write(buf) fdst.write(buf)
except os.error as e: except os.error as e:
(errno, errstr) = e
raise DistutilsFileError( raise DistutilsFileError(
"could not write to '%s': %s" % (dst, errstr)) "could not write to '%s': %s" % (dst, e.strerror))
finally: finally:
if fdst: if fdst:
fdst.close() fdst.close()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment