diff --git a/src/wireviz/wireviz.py b/src/wireviz/wireviz.py index db692419..5fc3ee14 100755 --- a/src/wireviz/wireviz.py +++ b/src/wireviz/wireviz.py @@ -408,11 +408,12 @@ def _get_yaml_data_and_path(inp: Union[str, Path, Dict]) -> (Dict, Path): 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.ENAMETOOLONG] + # (in Windows, it seems OSError [errno.EINVAL] might be raised in some cases) # when trying to expand and resolve it as a path. # Catch this error, but raise any others - from errno import ENAMETOOLONG + from errno import EINVAL, ENAMETOOLONG - if type(e) is OSError and e.errno != ENAMETOOLONG: + if type(e) is OSError and e.errno not in (EINVAL, ENAMETOOLONG): raise e # file does not exist; assume inp is a YAML string yaml_str = inp