summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAarni Koskela <akx@iki.fi>2023-01-18 19:47:43 +0200
committerGitHub <noreply@github.com>2023-01-18 19:47:43 +0200
commit03641361830ce036b89b4f9660ebadfe96e10445 (patch)
tree3e96c2de2f61f71a5e396e37a08c767be88f65fb
parent27380daecb325d39ab62deffde7fba8e494cfefd (diff)
downloadbabel-03641361830ce036b89b4f9660ebadfe96e10445.tar.gz
Minor cleanups (#948)
* Add __all__s to be cleaner about re-exports * Move timezone_getter to conftest * Apply spelling corrections suggested by codespell
-rw-r--r--CHANGES.rst4
-rw-r--r--babel/__init__.py20
-rw-r--r--babel/core.py4
-rw-r--r--babel/dates.py2
-rw-r--r--babel/localedata.py2
-rw-r--r--babel/messages/__init__.py12
-rw-r--r--babel/messages/checkers.py2
-rw-r--r--babel/messages/extract.py6
-rw-r--r--babel/numbers.py4
-rw-r--r--babel/plural.py2
-rw-r--r--babel/support.py2
-rw-r--r--tests/conftest.py29
-rw-r--r--tests/test_date_intervals.py1
-rw-r--r--tests/test_dates.py32
-rw-r--r--tests/test_numbers.py2
-rw-r--r--tests/test_support.py2
16 files changed, 73 insertions, 53 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index bee5c3f..a146e8f 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -613,7 +613,7 @@ Version 1.0
- Explicitly sort instead of using sorted() and don't assume ordering
(Jython compatibility).
- Removed ValueError raising for string formatting message checkers if the
- string does not contain any string formattings (:trac:`150`).
+ string does not contain any string formatting (:trac:`150`).
- Fix Serbian plural forms (:trac:`213`).
- Small speed improvement in format_date() (:trac:`216`).
- Fix so frontend.CommandLineInterface.run does not accumulate logging
@@ -690,7 +690,7 @@ Version 0.9.6
- Explicitly sort instead of using sorted() and don't assume ordering
(Python 2.3 and Jython compatibility).
- Removed ValueError raising for string formatting message checkers if the
- string does not contain any string formattings (:trac:`150`).
+ string does not contain any string formatting (:trac:`150`).
- Fix Serbian plural forms (:trac:`213`).
- Small speed improvement in format_date() (:trac:`216`).
- Fix number formatting for locales where CLDR specifies alt or draft
diff --git a/babel/__init__.py b/babel/__init__.py
index df19003..be35c03 100644
--- a/babel/__init__.py
+++ b/babel/__init__.py
@@ -16,8 +16,22 @@
:license: BSD, see LICENSE for more details.
"""
-from babel.core import UnknownLocaleError, Locale, default_locale, \
- negotiate_locale, parse_locale, get_locale_identifier
-
+from babel.core import (
+ Locale,
+ UnknownLocaleError,
+ default_locale,
+ get_locale_identifier,
+ negotiate_locale,
+ parse_locale,
+)
__version__ = '2.11.0'
+
+__all__ = [
+ 'Locale',
+ 'UnknownLocaleError',
+ 'default_locale',
+ 'get_locale_identifier',
+ 'negotiate_locale',
+ 'parse_locale',
+]
diff --git a/babel/core.py b/babel/core.py
index 704957b..5041c1b 100644
--- a/babel/core.py
+++ b/babel/core.py
@@ -239,13 +239,13 @@ class Locale:
>>> Locale.negotiate(['de_DE', 'de'], ['en_US'])
You can specify the character used in the locale identifiers to separate
- the differnet components. This separator is applied to both lists. Also,
+ the different components. This separator is applied to both lists. Also,
case is ignored in the comparison:
>>> Locale.negotiate(['de-DE', 'de'], ['en-us', 'de-de'], sep='-')
Locale('de', territory='DE')
- :param preferred: the list of locale identifers preferred by the user
+ :param preferred: the list of locale identifiers preferred by the user
:param available: the list of locale identifiers available
:param aliases: a dictionary of aliases for locale identifiers
"""
diff --git a/babel/dates.py b/babel/dates.py
index 05cfa25..51bc7ff 100644
--- a/babel/dates.py
+++ b/babel/dates.py
@@ -1757,7 +1757,7 @@ class DateTimeFormat:
:param day_of_period: the number of the day in the period (usually
either the day of month or the day of year)
- :param day_of_week: the week day; if ommitted, the week day of the
+ :param day_of_week: the week day; if omitted, the week day of the
current date is assumed
"""
if day_of_week is None:
diff --git a/babel/localedata.py b/babel/localedata.py
index 0d3508d..c14391a 100644
--- a/babel/localedata.py
+++ b/babel/localedata.py
@@ -121,7 +121,7 @@ def load(name: os.PathLike[str] | str, merge_inherited: bool = True) -> dict[str
:param merge_inherited: whether the inherited data should be merged into
the data of the requested locale
:raise `IOError`: if no locale data file is found for the given locale
- identifer, or one of the locales it inherits from
+ identifier, or one of the locales it inherits from
"""
name = os.path.basename(name)
_cache_lock.acquire()
diff --git a/babel/messages/__init__.py b/babel/messages/__init__.py
index ad4fd34..60aeba0 100644
--- a/babel/messages/__init__.py
+++ b/babel/messages/__init__.py
@@ -8,4 +8,14 @@
:license: BSD, see LICENSE for more details.
"""
-from babel.messages.catalog import *
+from babel.messages.catalog import (
+ Catalog,
+ Message,
+ TranslationError,
+)
+
+__all__ = [
+ "Catalog",
+ "Message",
+ "TranslationError",
+]
diff --git a/babel/messages/checkers.py b/babel/messages/checkers.py
index 9231c67..00b84e5 100644
--- a/babel/messages/checkers.py
+++ b/babel/messages/checkers.py
@@ -67,7 +67,7 @@ def _validate_format(format: str, alternative: str) -> None:
placeholders if `format` uses named placeholders.
The behavior of this function is undefined if the string does not use
- string formattings.
+ string formatting.
If the string formatting of `alternative` is compatible to `format` the
function returns `None`, otherwise a `TranslationError` is raised.
diff --git a/babel/messages/extract.py b/babel/messages/extract.py
index 5c331c0..a426510 100644
--- a/babel/messages/extract.py
+++ b/babel/messages/extract.py
@@ -537,8 +537,8 @@ def extract_python(
messages = tuple(messages)
else:
messages = messages[0]
- # Comments don't apply unless they immediately preceed the
- # message
+ # Comments don't apply unless they immediately
+ # precede the message
if translator_comments and \
translator_comments[-1][0] < message_lineno - 1:
translator_comments = []
@@ -673,7 +673,7 @@ def extract_javascript(
break
elif token.type == 'multilinecomment':
- # only one multi-line comment may preceed a translation
+ # only one multi-line comment may precede a translation
translator_comments = []
value = token.value[2:-2].strip()
for comment_tag in comment_tags:
diff --git a/babel/numbers.py b/babel/numbers.py
index 95e9d2a..5a05f91 100644
--- a/babel/numbers.py
+++ b/babel/numbers.py
@@ -93,7 +93,7 @@ def is_currency(currency: str, locale: Locale | str | None = None) -> bool:
def normalize_currency(currency: str, locale: Locale | str | None = None) -> str | None:
- """Returns the normalized sting of any currency code.
+ """Returns the normalized identifier of any currency code.
Accepts a ``locale`` parameter for fined-grained validation, working as
the one defined above in ``list_currencies()`` method.
@@ -1203,7 +1203,7 @@ class NumberPattern:
self._format_int(
str(exp), self.exp_prec[0], self.exp_prec[1], locale)])
- # Is it a siginificant digits pattern?
+ # Is it a significant digits pattern?
elif '@' in self.pattern:
text = self._format_significant(value,
self.int_prec[0],
diff --git a/babel/plural.py b/babel/plural.py
index efd0f1f..b4f54c0 100644
--- a/babel/plural.py
+++ b/babel/plural.py
@@ -425,7 +425,7 @@ class _Parser:
'n in 3,5,7..15'.
- Samples are ignored.
- The translator parses the expression on instanciation into an attribute
+ The translator parses the expression on instantiation into an attribute
called `ast`.
"""
diff --git a/babel/support.py b/babel/support.py
index da111fc..a8dd230 100644
--- a/babel/support.py
+++ b/babel/support.py
@@ -418,7 +418,7 @@ class NullTranslations(gettext.NullTranslations):
# backward compatibility with 0.9
dungettext = udngettext
- # Most of the downwards code, until it get's included in stdlib, from:
+ # Most of the downwards code, until it gets included in stdlib, from:
# https://bugs.python.org/file10036/gettext-pgettext.patch
#
# The encoding of a msgctxt and a msgid in a .mo file is
diff --git a/tests/conftest.py b/tests/conftest.py
index 5b14b1c..0506a83 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,6 +1,19 @@
import os
import pytest
+try:
+ import zoneinfo
+except ModuleNotFoundError:
+ try:
+ from backports import zoneinfo
+ except ImportError:
+ zoneinfo = None
+
+try:
+ import pytz
+except ModuleNotFoundError:
+ pytz = None
+
@pytest.fixture
def os_environ(monkeypatch):
@@ -16,3 +29,19 @@ def pytest_generate_tests(metafunc):
from babel.localedata import locale_identifiers
metafunc.parametrize("locale", list(locale_identifiers()))
break
+
+
+@pytest.fixture(params=["pytz.timezone", "zoneinfo.ZoneInfo"], scope="package")
+def timezone_getter(request):
+ if request.param == "pytz.timezone":
+ if pytz:
+ return pytz.timezone
+ else:
+ pytest.skip("pytz not available")
+ elif request.param == "zoneinfo.ZoneInfo":
+ if zoneinfo:
+ return zoneinfo.ZoneInfo
+ else:
+ pytest.skip("zoneinfo not available")
+ else:
+ raise NotImplementedError
diff --git a/tests/test_date_intervals.py b/tests/test_date_intervals.py
index eb3aa89..8e84a9e 100644
--- a/tests/test_date_intervals.py
+++ b/tests/test_date_intervals.py
@@ -2,7 +2,6 @@ import datetime
from babel import dates
from babel.util import UTC
-from .test_dates import timezone_getter
TEST_DT = datetime.datetime(2016, 1, 8, 11, 46, 15)
TEST_TIME = TEST_DT.time()
diff --git a/tests/test_dates.py b/tests/test_dates.py
index 9fd7314..a4fb9c5 100644
--- a/tests/test_dates.py
+++ b/tests/test_dates.py
@@ -16,41 +16,11 @@ from datetime import date, datetime, time, timedelta
import freezegun
import pytest
-# for tests it can be useful to have both zoneinfo and pytz available
-try:
- import zoneinfo
-except ModuleNotFoundError:
- try:
- from backports import zoneinfo
- except ImportError:
- zoneinfo = None
-
-try:
- import pytz
-except ModuleNotFoundError:
- pytz = None
-
from babel import dates, Locale
-from babel.dates import NO_INHERITANCE_MARKER, _localize, _get_tz_name, LOCALTZ
+from babel.dates import NO_INHERITANCE_MARKER, _localize
from babel.util import FixedOffsetTimezone
-@pytest.fixture(params=["pytz.timezone", "zoneinfo.ZoneInfo"], scope="package")
-def timezone_getter(request):
- if request.param == "pytz.timezone":
- if pytz:
- return pytz.timezone
- else:
- pytest.skip("pytz not available")
- elif request.param == "zoneinfo.ZoneInfo":
- if zoneinfo:
- return zoneinfo.ZoneInfo
- else:
- pytest.skip("zoneinfo not available")
- else:
- raise NotImplementedError
-
-
class DateTimeFormatTestCase:
def test_quarter_format(self):
diff --git a/tests/test_numbers.py b/tests/test_numbers.py
index 37d2f9e..0939562 100644
--- a/tests/test_numbers.py
+++ b/tests/test_numbers.py
@@ -28,7 +28,7 @@ class FormatDecimalTestCase(unittest.TestCase):
assert numbers.format_decimal(12345, '##0', locale='en_US') == '12345'
assert numbers.format_decimal(6.5, '0.00', locale='sv') == '6,50'
assert numbers.format_decimal((10.0 ** 20), '#.00', locale='en_US') == '100000000000000000000.00'
- # regression test for #183, fraction digits were not correctly cutted
+ # regression test for #183, fraction digits were not correctly cut
# if the input was a float value and the value had more than 7
# significant digits
assert numbers.format_decimal(12345678.051, '#,##0.00', locale='en_US') == u'12,345,678.05'
diff --git a/tests/test_support.py b/tests/test_support.py
index d39d8ef..3ca0be3 100644
--- a/tests/test_support.py
+++ b/tests/test_support.py
@@ -23,8 +23,6 @@ from io import BytesIO
from babel import support
from babel.messages import Catalog
from babel.messages.mofile import write_mo
-from babel.dates import get_timezone
-from .test_dates import timezone_getter
SKIP_LGETTEXT = sys.version_info >= (3, 8)