This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients josh.ja.butt, p-ganssle, python-dev, vstinner
Date 2020-08-12.13:13:23
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1597238004.12.0.0960426420276.issue41530@roundup.psfhosted.org>
In-reply-to
Content
Oh right, 'Pacific' is a directory, not a valid zone, and so ZoneInfoNotFoundError should be raised. I see.

Example:

$ ./python -m venv env
$ env/bin/python -m pip install tzdata
$ env/bin/python 

# ZoneInfoNotFoundError expected, get IsADirectoryError
>>> import zoneinfo; zoneinfo.ZoneInfo('Pacific')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/vstinner/python/master/Lib/zoneinfo/_common.py", line 12, in load_tzdata
    return importlib.resources.open_binary(package_name, resource_name)
  File "/home/vstinner/python/master/Lib/importlib/resources.py", line 40, in open_binary
    return reader.open_resource(resource)
  File "/home/vstinner/python/master/Lib/importlib/abc.py", line 419, in open_resource
    return self.files().joinpath(resource).open('rb')
  File "/home/vstinner/python/master/Lib/pathlib.py", line 1238, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
IsADirectoryError: [Errno 21] Is a directory: '/home/vstinner/python/master/env/lib/python3.10/site-packages/tzdata/zoneinfo/Pacific'

# valid zone
>>> import zoneinfo; zoneinfo.ZoneInfo('Pacific/Noumea')
zoneinfo.ZoneInfo(key='Pacific/Noumea')

# raise ZoneInfoNotFoundError as expected (from FileNotFoundError)
>>> import zoneinfo; zoneinfo.ZoneInfo('xxx')
Traceback (most recent call last):
  File "/home/vstinner/python/master/Lib/zoneinfo/_common.py", line 12, in load_tzdata
    return importlib.resources.open_binary(package_name, resource_name)
  File "/home/vstinner/python/master/Lib/importlib/resources.py", line 40, in open_binary
    return reader.open_resource(resource)
  File "/home/vstinner/python/master/Lib/importlib/abc.py", line 419, in open_resource
    return self.files().joinpath(resource).open('rb')
  File "/home/vstinner/python/master/Lib/pathlib.py", line 1238, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/home/vstinner/python/master/Lib/pathlib.py", line 1106, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/home/vstinner/python/master/env/lib/python3.10/site-packages/tzdata/zoneinfo/xxx'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/vstinner/python/master/Lib/zoneinfo/_common.py", line 24, in load_tzdata
    raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key xxx'
History
Date User Action Args
2020-08-12 13:13:24vstinnersetrecipients: + vstinner, python-dev, p-ganssle, josh.ja.butt
2020-08-12 13:13:24vstinnersetmessageid: <1597238004.12.0.0960426420276.issue41530@roundup.psfhosted.org>
2020-08-12 13:13:24vstinnerlinkissue41530 messages
2020-08-12 13:13:23vstinnercreate