Explicit utf-8 encoding where necessary to avoid Unicode errors on Windows (we require/set an utf-8 locale on other systems).

This commit is contained in:
grossmj committed 2015-04-25 11:58:34 -06:00
1 parent d68bf1c263
commit 80a0e0ebf7
7 files changed
+34 -34

No files matched your search

+16 -16
View File
@@ -332,8 +332,8 @@ class IOUVM(BaseVM):
def iourc_content(self):
try:
with open(os.path.join(self.temporary_directory, "iourc")) as f:
return f.read()
with open(os.path.join(self.temporary_directory, "iourc"), "rb") as f:
return f.read().decode("utf-8")
except OSError:
return None
@@ -343,8 +343,8 @@ class IOUVM(BaseVM):
if value is not None:
path = os.path.join(self.temporary_directory, "iourc")
try:
with open(path, "w+") as f:
f.write(value)
with open(path, "wb+") as f:
f.write(value.encode("utf-8"))
except OSError as e:
raise IOUError("Could not write the iourc file {}: {}".format(path, e))
@@ -378,7 +378,7 @@ class IOUVM(BaseVM):
config = configparser.ConfigParser()
try:
with open(self.iourc_path) as f:
with open(self.iourc_path, encoding="utf-8") as f:
config.read_file(f)
except OSError as e:
raise IOUError("Could not open iourc file {}: {}".format(self.iourc_path, e))
@@ -455,7 +455,7 @@ class IOUVM(BaseVM):
log.info("Starting IOU: {}".format(self._command))
self._iou_stdout_file = os.path.join(self.working_dir, "iou.log")
log.info("Logging to {}".format(self._iou_stdout_file))
with open(self._iou_stdout_file, "w") as fd:
with open(self._iou_stdout_file, "w", encoding="utf-8") as fd:
self._iou_process = yield from asyncio.create_subprocess_exec(*self._command,
stdout=fd,
stderr=subprocess.STDOUT,
@@ -499,7 +499,7 @@ class IOUVM(BaseVM):
log.info("starting iouyap: {}".format(command))
self._iouyap_stdout_file = os.path.join(self.working_dir, "iouyap.log")
log.info("logging to {}".format(self._iouyap_stdout_file))
with open(self._iouyap_stdout_file, "w") as fd:
with open(self._iouyap_stdout_file, "w", encoding="utf-8") as fd:
self._iouyap_process = yield from asyncio.create_subprocess_exec(*command,
stdout=fd,
stderr=subprocess.STDOUT,
@@ -565,7 +565,7 @@ class IOUVM(BaseVM):
bay_id += 1
try:
with open(iouyap_ini, "w") as config_file:
with open(iouyap_ini, "w", encoding="utf-8") as config_file:
config.write(config_file)
log.info("IOU {name} [id={id}]: iouyap.ini updated".format(name=self._name,
id=self._id))
@@ -671,7 +671,7 @@ class IOUVM(BaseVM):
netmap_path = os.path.join(self.working_dir, "NETMAP")
try:
with open(netmap_path, "w") as f:
with open(netmap_path, "w", encoding="utf-8") as f:
for bay in range(0, 16):
for unit in range(0, 4):
f.write("{iouyap_id}:{bay}/{unit}{iou_id:>5d}:{bay}/{unit}\n".format(iouyap_id=str(self.application_id + 512),
@@ -741,8 +741,8 @@ class IOUVM(BaseVM):
output = ""
if self._iou_stdout_file:
try:
with open(self._iou_stdout_file, errors="replace") as file:
output = file.read()
with open(self._iou_stdout_file, "rb") as file:
output = file.read().decode("utf-8", errors="replace")
except OSError as e:
log.warn("could not read {}: {}".format(self._iou_stdout_file, e))
return output
@@ -756,8 +756,8 @@ class IOUVM(BaseVM):
output = ""
if self._iouyap_stdout_file:
try:
with open(self._iouyap_stdout_file, errors="replace") as file:
output = file.read()
with open(self._iouyap_stdout_file, "rb") as file:
output = file.read().decode("utf-8", errors="replace")
except OSError as e:
log.warn("could not read {}: {}".format(self._iouyap_stdout_file, e))
return output
@@ -949,8 +949,8 @@ class IOUVM(BaseVM):
return None
try:
with open(config_file) as f:
return f.read()
with open(config_file, "rb") as f:
return f.read().decode("utf-8", errors="replace")
except OSError as e:
raise IOUError("Can't read configuration file '{}': {}".format(config_file, e))
@@ -972,7 +972,7 @@ class IOUVM(BaseVM):
if len(initial_config) == 0 and os.path.exists(script_file):
return
with open(script_file, 'w+') as f:
with open(script_file, "w+", encoding="utf-8") as f:
if len(initial_config) == 0:
f.write('')
else: