python-babel / babel

The official repository for Babel, the Python Internationalization Library
http://babel.pocoo.org/
BSD 3-Clause "New" or "Revised" License
1.34k stars 448 forks source link

Avoid crashing on importing localtime when TZ is malformed #1100

Closed akx closed 4 months ago

akx commented 4 months ago

Fixes #1092.

When pytz is not installed, importing babel.localtime could fail (repeatedly) when the TZ environment variable is malformed enough to be caught by _validate_tzfile_path, which might throw a certain ValueError.

(When pytz is installed, it would raise the same pytz.exceptions.UnknownTimeZoneError we already catch and ignore for the same input.)

codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 91.28%. Comparing base (2f87363) to head (ff4c01c).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1100 +/- ## ========================================== + Coverage 91.09% 91.28% +0.19% ========================================== Files 26 26 Lines 4470 4476 +6 ========================================== + Hits 4072 4086 +14 + Misses 398 390 -8 ``` | [Flag](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | Coverage Δ | | |---|---|---| | [macos-12-3.10](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.03% <66.66%> (+0.12%)` | :arrow_up: | | [macos-12-3.11](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.03% <66.66%> (+0.12%)` | :arrow_up: | | [macos-12-3.12](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.32% <66.66%> (+0.12%)` | :arrow_up: | | [macos-12-3.8](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.02% <50.00%> (+0.19%)` | :arrow_up: | | [macos-12-3.9](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.02% <66.66%> (+0.12%)` | :arrow_up: | | [macos-12-pypy3.10](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.03% <66.66%> (+0.12%)` | :arrow_up: | | [ubuntu-22.04-3.10](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.05% <66.66%> (+0.12%)` | :arrow_up: | | [ubuntu-22.04-3.11](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.05% <66.66%> (+0.12%)` | :arrow_up: | | [ubuntu-22.04-3.12](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.34% <66.66%> (+0.12%)` | :arrow_up: | | [ubuntu-22.04-3.8](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.05% <50.00%> (+0.19%)` | :arrow_up: | | [ubuntu-22.04-3.9](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.05% <66.66%> (+0.12%)` | :arrow_up: | | [ubuntu-22.04-pypy3.10](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.05% <66.66%> (+0.12%)` | :arrow_up: | | [windows-2022-3.10](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.18% <16.66%> (-0.10%)` | :arrow_down: | | [windows-2022-3.11](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.18% <16.66%> (-0.10%)` | :arrow_down: | | [windows-2022-3.12](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.47% <16.66%> (-0.10%)` | :arrow_down: | | [windows-2022-3.8](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.17% <50.00%> (-0.04%)` | :arrow_down: | | [windows-2022-3.9](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.17% <16.66%> (-0.10%)` | :arrow_down: | | [windows-2022-pypy3.10](https://app.codecov.io/gh/python-babel/babel/pull/1100/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel) | `90.18% <16.66%> (-0.10%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=python-babel#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

matthiashuschle commented 4 months ago

Looks good to me.