-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Raise an exception when find_tex_file fails to find a file. #21356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
3064c18
to
63f2914
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm slightly worried on the API change. There might be users out there using find_tex_file
to check if a package is installed.
The more defensive approach would be:
- If
find_tex_file
doesn't find a file it issues a warning that it will fali in the future. But it still returns '' for now. - Tempoarily we add a function
def _find_tex_file_or_raise(filename): with.warnings.catch_warnings(): warnings.filter(...) tex_file = find_tex_file(filename) if not tex_file: raise FileNotFoundError(...) return tex_file
- and replace all internal usages with this function.
This would give nice error messages for internal problems but still gives find_tex_file
users the opportunity to prepare for the API change.
OK, switch to warning. |
The exception message is clearer for end users than downstream callers failing to `open()` a file named `""`. Also update the function's docstring. _tfmfile now never returns None (an exception would have been raised earlier by find_tex_file), so remove the corresponding branch.
Raise an exception when find_tex_file fails to find a file.
The exception message is clearer for end users than downstream callers
failing to
open()
a file named""
.Also update the function's docstring.
_tfmfile now never returns None (an exception would have been raised
earlier by find_tex_file), so remove the corresponding branch.
From a quick look, #21354 seems to arise from a missing
pdftex.map
;this patch would have made the error clearer.
PR Summary
PR Checklist
pytest
passes).flake8
on changed files to check).flake8-docstrings
and runflake8 --docstring-convention=all
).doc/users/next_whats_new/
(follow instructions in README.rst there).doc/api/next_api_changes/
(follow instructions in README.rst there).