Fixes #29213: regularised EOLs of venv scripts.
This commit is contained in:
parent
db6322cb8a
commit
db38b6c9a9
|
@ -339,19 +339,17 @@ class EnvBuilder:
|
||||||
dstfile = os.path.join(dstdir, f)
|
dstfile = os.path.join(dstdir, f)
|
||||||
with open(srcfile, 'rb') as f:
|
with open(srcfile, 'rb') as f:
|
||||||
data = f.read()
|
data = f.read()
|
||||||
if srcfile.endswith('.exe'):
|
if not srcfile.endswith('.exe'):
|
||||||
mode = 'wb'
|
|
||||||
else:
|
|
||||||
mode = 'w'
|
|
||||||
try:
|
try:
|
||||||
data = data.decode('utf-8')
|
data = data.decode('utf-8')
|
||||||
data = self.replace_variables(data, context)
|
data = self.replace_variables(data, context)
|
||||||
except UnicodeDecodeError as e:
|
data = data.encode('utf-8')
|
||||||
|
except UnicodeError as e:
|
||||||
data = None
|
data = None
|
||||||
logger.warning('unable to copy script %r, '
|
logger.warning('unable to copy script %r, '
|
||||||
'may be binary: %s', srcfile, e)
|
'may be binary: %s', srcfile, e)
|
||||||
if data is not None:
|
if data is not None:
|
||||||
with open(dstfile, mode) as f:
|
with open(dstfile, 'wb') as f:
|
||||||
f.write(data)
|
f.write(data)
|
||||||
shutil.copymode(srcfile, dstfile)
|
shutil.copymode(srcfile, dstfile)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue