From 6f9007f45d48cc65f3469b362976bb53ac1cd7e0 Mon Sep 17 00:00:00 2001 From: RedshiftVelocities <43499473+RedshiftVelocities@users.noreply.github.com> Date: Fri, 1 Sep 2023 14:24:34 -0600 Subject: [PATCH] Use portable OS error codes so program doesn't crash (#318) Hard-coding OS error numbers that differ between different platforms caused the program to crash at platforms using a different error number. Using the Standard errno system symbols will avoid this problem. Co-authored-by: kvid --- src/wireviz/wireviz.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wireviz/wireviz.py b/src/wireviz/wireviz.py index 1101619..163be95 100755 --- a/src/wireviz/wireviz.py +++ b/src/wireviz/wireviz.py @@ -390,10 +390,11 @@ def _get_yaml_data_and_path(inp: Union[str, Path, Dict]) -> (Dict, Path): # if no FileNotFoundError exception happens, get file contents yaml_str = open_file_read(yaml_path).read() except (FileNotFoundError, OSError) as e: - # if inp is a long YAML string, Pathlib will raise OSError: [Errno 63] + # if inp is a long YAML string, Pathlib will raise OSError: [errno.ENAMETOOLONG] # when trying to expand and resolve it as a path. # Catch this error, but raise any others - if type(e) is OSError and e.errno != 63: + from errno import ENAMETOOLONG + if type(e) is OSError and e.errno != ENAMETOOLONG: raise e # file does not exist; assume inp is a YAML string yaml_str = inp