Update comment in src/wireviz/wireviz.py (#392)

Clarify all exceptions catched, including changes in #392

Co-authored-by: kvid <kvid@users.noreply.github.com>
This commit is contained in:
Martin Rieder 2024-07-01 20:48:21 +02:00 committed by KV
parent 0e8ab7a668
commit f2a1aa8856

View File

@ -410,10 +410,13 @@ def _get_yaml_data_and_path(inp: Union[str, Path, Dict]) -> (Dict, Path):
# if no FileNotFoundError exception happens, get file contents # if no FileNotFoundError exception happens, get file contents
yaml_str = open_file_read(yaml_path).read() yaml_str = open_file_read(yaml_path).read()
except (FileNotFoundError, OSError, ValueError) as e: except (FileNotFoundError, OSError, ValueError) as e:
# if inp is a long YAML string, Pathlib will raise OSError: [errno.ENAMETOOLONG] # if inp is a long YAML string, Pathlib will normally raise
# (in Windows, it seems OSError [errno.EINVAL] might be raised in some cases) # FileNotFoundError or OSError(errno = ENAMETOOLONG) when
# when trying to expand and resolve it as a path. # trying to expand and resolve it as a path, but in Windows
# Catch this error, but raise any others # might ValueError or OSError(errno = EINVAL or None) be raised
# instead in some cases (depending on the Python version).
# Catch these specific errors, but raise any others.
from errno import EINVAL, ENAMETOOLONG from errno import EINVAL, ENAMETOOLONG
if type(e) is OSError and e.errno not in (EINVAL, ENAMETOOLONG, None): if type(e) is OSError and e.errno not in (EINVAL, ENAMETOOLONG, None):