summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAarni Koskela <akx@iki.fi>2023-03-01 08:25:31 +0200
committerAarni Koskela <akx@iki.fi>2023-03-01 20:03:40 +0200
commit0aa54caa0ac47a1bbb5510812d9939344a8f16bb (patch)
tree11921728f108fdb154aaff59b33cce6c3b6a86d8
parent97f89b5e8e11feee3d3e8d8175c79f6c712d5385 (diff)
downloadbabel-0aa54caa0ac47a1bbb5510812d9939344a8f16bb.tar.gz
Note that `Locale.parse()` does not accept `None`
Refs #977
-rw-r--r--CHANGES.rst2
-rw-r--r--babel/core.py9
2 files changed, 11 insertions, 0 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 3a8f1d2..a8dcc7d 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -18,6 +18,8 @@ Deprecations & breaking changes
* Python 3.6 is no longer supported (:gh:`919`) - Aarni Koskela
* The `get_next_timezone_transition` function is no more (:gh:`958`) - Aarni Koskela
+* `Locale.parse()` will no longer return `None`; it will always return a Locale or raise an exception.
+ Passing in `None`, though technically allowed by the typing, will raise. (:gh:`966`)
New features
~~~~~~~~~~~~
diff --git a/babel/core.py b/babel/core.py
index 4cceba9..ba8a621 100644
--- a/babel/core.py
+++ b/babel/core.py
@@ -280,6 +280,15 @@ class Locale:
>>> Locale.parse(l)
Locale('de', territory='DE')
+ If the `identifier` parameter is neither of these, such as `None`
+ e.g. because a default locale identifier could not be determined,
+ a `TypeError` is raised:
+
+ >>> Locale.parse(None)
+ Traceback (most recent call last):
+ ...
+ TypeError: ...
+
This also can perform resolving of likely subtags which it does
by default. This is for instance useful to figure out the most
likely locale for a territory you can use ``'und'`` as the