From 3fb72cea613ba05480a9027aa927d2c8b817d693 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Wed, 18 Jan 2023 20:07:31 +0200 Subject: Apply ruff I category fixes --- babel/dates.py | 2 +- babel/localtime/__init__.py | 2 +- babel/localtime/_unix.py | 6 +++--- babel/localtime/_win32.py | 3 ++- babel/messages/catalog.py | 7 +++---- babel/messages/checkers.py | 3 +-- babel/messages/extract.py | 18 +++++++++++++----- babel/messages/frontend.py | 19 +++++++++++++------ babel/messages/jslexer.py | 2 +- babel/messages/plurals.py | 2 +- babel/messages/pofile.py | 7 ++++--- babel/numbers.py | 4 ++-- babel/support.py | 15 +++++++++------ babel/util.py | 6 +++--- docs/conf.py | 2 +- pyproject.toml | 1 + scripts/download_import_cldr.py | 7 +++---- scripts/dump_data.py | 2 +- scripts/dump_global.py | 5 +++-- scripts/generate_authors.py | 3 +-- scripts/import_cldr.py | 5 ++--- setup.py | 2 +- tests/conftest.py | 1 + tests/messages/test_catalog.py | 2 +- tests/messages/test_frontend.py | 22 ++++++++++++++-------- tests/messages/test_js_extract.py | 2 ++ tests/messages/test_mofile.py | 2 +- tests/messages/test_pofile.py | 6 ++++-- tests/test_core.py | 2 +- tests/test_dates.py | 2 +- tests/test_day_periods.py | 3 ++- tests/test_localedata.py | 4 ++-- tests/test_numbers.py | 15 +++++++++++---- tests/test_plural.py | 3 ++- tests/test_smoke.py | 5 +++-- tests/test_support.py | 6 +++--- tests/test_util.py | 1 + 37 files changed, 119 insertions(+), 80 deletions(-) diff --git a/babel/dates.py b/babel/dates.py index ee8bcfd..7bfea71 100644 --- a/babel/dates.py +++ b/babel/dates.py @@ -27,9 +27,9 @@ except ModuleNotFoundError: pytz = None import zoneinfo +import datetime from bisect import bisect_right from collections.abc import Iterable -import datetime from babel import localtime from babel.core import Locale, default_locale, get_global diff --git a/babel/localtime/__init__.py b/babel/localtime/__init__.py index 9d227c7..1d65fb2 100644 --- a/babel/localtime/__init__.py +++ b/babel/localtime/__init__.py @@ -9,9 +9,9 @@ :license: BSD, see LICENSE for more details. """ +import datetime import sys import time -import datetime from threading import RLock if sys.platform == 'win32': diff --git a/babel/localtime/_unix.py b/babel/localtime/_unix.py index 89b461a..eb81beb 100644 --- a/babel/localtime/_unix.py +++ b/babel/localtime/_unix.py @@ -1,14 +1,14 @@ +import datetime import os import re -import datetime - from babel.localtime._helpers import ( + _get_tzinfo, _get_tzinfo_from_file, _get_tzinfo_or_raise, - _get_tzinfo, ) + def _tz_from_env(tzenv: str) -> datetime.tzinfo: if tzenv[0] == ':': tzenv = tzenv[1:] diff --git a/babel/localtime/_win32.py b/babel/localtime/_win32.py index 42f819a..1a52567 100644 --- a/babel/localtime/_win32.py +++ b/babel/localtime/_win32.py @@ -6,9 +6,10 @@ except ImportError: winreg = None import datetime +from typing import Any, Dict, cast + from babel.core import get_global from babel.localtime._helpers import _get_tzinfo_or_raise -from typing import Any, Dict, cast # When building the cldr data on windows this module gets imported. # Because at that point there is no global.dat yet this call will diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py index 7b27f64..dbca10f 100644 --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -9,21 +9,20 @@ """ from __future__ import annotations +import datetime import re - from collections import OrderedDict from collections.abc import Iterable, Iterator -import datetime +from copy import copy from difflib import get_close_matches from email import message_from_string -from copy import copy from typing import TYPE_CHECKING from babel import __version__ as VERSION from babel.core import Locale, UnknownLocaleError from babel.dates import format_datetime from babel.messages.plurals import get_plural -from babel.util import distinct, LOCALTZ, FixedOffsetTimezone, _cmp +from babel.util import LOCALTZ, FixedOffsetTimezone, _cmp, distinct if TYPE_CHECKING: from typing_extensions import TypeAlias diff --git a/babel/messages/checkers.py b/babel/messages/checkers.py index 5e36b87..38a26e8 100644 --- a/babel/messages/checkers.py +++ b/babel/messages/checkers.py @@ -13,8 +13,7 @@ from __future__ import annotations from collections.abc import Callable -from babel.messages.catalog import Catalog, Message, TranslationError, PYTHON_FORMAT - +from babel.messages.catalog import PYTHON_FORMAT, Catalog, Message, TranslationError #: list of format chars that are compatible to each other _string_format_compatibilities = [ diff --git a/babel/messages/extract.py b/babel/messages/extract.py index a426510..0934937 100644 --- a/babel/messages/extract.py +++ b/babel/messages/extract.py @@ -18,21 +18,29 @@ from __future__ import annotations import ast -from collections.abc import Callable, Collection, Generator, Iterable, Mapping, MutableSequence import io import os import sys +from collections.abc import ( + Callable, + Collection, + Generator, + Iterable, + Mapping, + MutableSequence, +) from os.path import relpath -from tokenize import generate_tokens, COMMENT, NAME, OP, STRING -from typing import Any, TYPE_CHECKING +from textwrap import dedent +from tokenize import COMMENT, NAME, OP, STRING, generate_tokens +from typing import TYPE_CHECKING, Any from babel.util import parse_encoding, parse_future_flags, pathmatch -from textwrap import dedent if TYPE_CHECKING: from typing import IO, Protocol - from typing_extensions import Final, TypeAlias, TypedDict + from _typeshed import SupportsItems, SupportsRead, SupportsReadline + from typing_extensions import Final, TypeAlias, TypedDict class _PyOptions(TypedDict, total=False): encoding: str diff --git a/babel/messages/frontend.py b/babel/messages/frontend.py index a9a3e4d..98a1ca8 100644 --- a/babel/messages/frontend.py +++ b/babel/messages/frontend.py @@ -8,6 +8,7 @@ :license: BSD, see LICENSE for more details. """ +import datetime import fnmatch import logging import optparse @@ -18,15 +19,19 @@ import sys import tempfile from collections import OrderedDict from configparser import RawConfigParser -import datetime from io import StringIO from typing import Iterable -from babel import __version__ as VERSION from babel import Locale, localedata +from babel import __version__ as VERSION from babel.core import UnknownLocaleError -from babel.messages.catalog import Catalog, DEFAULT_HEADER -from babel.messages.extract import DEFAULT_KEYWORDS, DEFAULT_MAPPING, check_and_call_extract_file, extract_from_dir +from babel.messages.catalog import DEFAULT_HEADER, Catalog +from babel.messages.extract import ( + DEFAULT_KEYWORDS, + DEFAULT_MAPPING, + check_and_call_extract_file, + extract_from_dir, +) from babel.messages.mofile import write_mo from babel.messages.pofile import read_po, write_po from babel.util import LOCALTZ @@ -39,14 +44,16 @@ try: distutils_log = log # "distutils.log → (no replacement yet)" try: - from setuptools.errors import OptionError, SetupError, BaseError + from setuptools.errors import BaseError, OptionError, SetupError except ImportError: # Error aliases only added in setuptools 59 (2021-11). OptionError = SetupError = BaseError = Exception except ImportError: from distutils import log as distutils_log from distutils.cmd import Command as _Command - from distutils.errors import DistutilsOptionError as OptionError, DistutilsSetupError as SetupError, DistutilsError as BaseError + from distutils.errors import DistutilsError as BaseError + from distutils.errors import DistutilsOptionError as OptionError + from distutils.errors import DistutilsSetupError as SetupError diff --git a/babel/messages/jslexer.py b/babel/messages/jslexer.py index 11ddf96..e6d20ae 100644 --- a/babel/messages/jslexer.py +++ b/babel/messages/jslexer.py @@ -11,8 +11,8 @@ """ from __future__ import annotations -from collections.abc import Generator import re +from collections.abc import Generator from typing import NamedTuple operators: list[str] = sorted([ diff --git a/babel/messages/plurals.py b/babel/messages/plurals.py index 0fdf53b..eb8de47 100644 --- a/babel/messages/plurals.py +++ b/babel/messages/plurals.py @@ -9,9 +9,9 @@ """ from __future__ import annotations -from babel.core import default_locale, Locale from operator import itemgetter +from babel.core import Locale, default_locale # XXX: remove this file, duplication with babel.plural diff --git a/babel/messages/pofile.py b/babel/messages/pofile.py index b6d0d6e..76d3123 100644 --- a/babel/messages/pofile.py +++ b/babel/messages/pofile.py @@ -14,14 +14,15 @@ import os import re from collections.abc import Iterable from typing import TYPE_CHECKING -from babel.core import Locale +from babel.core import Locale from babel.messages.catalog import Catalog, Message -from babel.util import wraptext, _cmp +from babel.util import _cmp, wraptext if TYPE_CHECKING: - from _typeshed import SupportsWrite from typing import IO, AnyStr + + from _typeshed import SupportsWrite from typing_extensions import Literal diff --git a/babel/numbers.py b/babel/numbers.py index f229072..6ecd7dc 100644 --- a/babel/numbers.py +++ b/babel/numbers.py @@ -19,11 +19,11 @@ # - https://www.unicode.org/reports/tr35/ (Appendix G.6) from __future__ import annotations +import datetime import decimal import re -from typing import TYPE_CHECKING, Any, overload import warnings -import datetime +from typing import TYPE_CHECKING, Any, overload from babel.core import Locale, default_locale, get_global from babel.localedata import LocaleDataDict diff --git a/babel/support.py b/babel/support.py index 216c8f1..7092599 100644 --- a/babel/support.py +++ b/babel/support.py @@ -20,12 +20,15 @@ from collections.abc import Iterator from typing import TYPE_CHECKING, Any, Callable from babel.core import Locale - -from babel.dates import (format_date, format_datetime, format_time, - format_timedelta) -from babel.numbers import (format_compact_currency, format_compact_decimal, - format_currency, format_decimal, format_percent, - format_scientific) +from babel.dates import format_date, format_datetime, format_time, format_timedelta +from babel.numbers import ( + format_compact_currency, + format_compact_decimal, + format_currency, + format_decimal, + format_percent, + format_scientific, +) if TYPE_CHECKING: from typing_extensions import Literal diff --git a/babel/util.py b/babel/util.py index d25ec53..cf86f20 100644 --- a/babel/util.py +++ b/babel/util.py @@ -11,15 +11,15 @@ from __future__ import annotations import codecs import collections +import datetime import os import re import textwrap -from babel import localtime, dates - from collections.abc import Generator, Iterable -import datetime from typing import IO, Any, TypeVar +from babel import dates, localtime + missing = object() _T = TypeVar("_T") diff --git a/docs/conf.py b/docs/conf.py index ed4794e..84bbd7e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,8 +10,8 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os +import sys # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the diff --git a/pyproject.toml b/pyproject.toml index 7dd161e..37f7fe3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,7 @@ select = [ "C", "E", "F", + "I", ] ignore = [ "C901", # Complexity diff --git a/scripts/download_import_cldr.py b/scripts/download_import_cldr.py index 57995b5..926e747 100755 --- a/scripts/download_import_cldr.py +++ b/scripts/download_import_cldr.py @@ -1,15 +1,14 @@ #!/usr/bin/env python3 import contextlib +import hashlib import os -import sys import shutil -import hashlib -import zipfile import subprocess +import sys +import zipfile from urllib.request import urlretrieve - URL = 'http://unicode.org/Public/cldr/41/cldr-common-41.0.zip' FILENAME = 'cldr-common-41.0.zip' # Via https://unicode.org/Public/cldr/41/hashes/SHASUM512 diff --git a/scripts/dump_data.py b/scripts/dump_data.py index e419050..041a410 100755 --- a/scripts/dump_data.py +++ b/scripts/dump_data.py @@ -14,7 +14,7 @@ from optparse import OptionParser from pprint import pprint -from babel.localedata import load, LocaleDataDict +from babel.localedata import LocaleDataDict, load def main(): diff --git a/scripts/dump_global.py b/scripts/dump_global.py index 6696415..3fc95b6 100755 --- a/scripts/dump_global.py +++ b/scripts/dump_global.py @@ -11,10 +11,11 @@ # individuals. For the exact contribution history, see the revision # history and logs, available at http://babel.edgewall.org/log/. -import cPickle as pickle import os -from pprint import pprint import sys +from pprint import pprint + +import cPickle as pickle import babel diff --git a/scripts/generate_authors.py b/scripts/generate_authors.py index e2e3add..64c0af8 100644 --- a/scripts/generate_authors.py +++ b/scripts/generate_authors.py @@ -1,8 +1,7 @@ +import os from collections import Counter from subprocess import check_output -import os - root_path = os.path.realpath(os.path.join(os.path.dirname(__file__), '..')) diff --git a/scripts/import_cldr.py b/scripts/import_cldr.py index 5de707c..0dc4738 100755 --- a/scripts/import_cldr.py +++ b/scripts/import_cldr.py @@ -12,13 +12,12 @@ # history and logs, available at http://babel.edgewall.org/log/. import collections -from optparse import OptionParser +import logging import os import pickle import re import sys -import logging - +from optparse import OptionParser from xml.etree import ElementTree # Make sure we're using Babel source, and not some previously installed version diff --git a/setup.py b/setup.py index db63216..df6ad8b 100755 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ import subprocess import sys -from setuptools import setup, Command +from setuptools import Command, setup try: from babel import __version__ diff --git a/tests/conftest.py b/tests/conftest.py index 0506a83..67e3ce9 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,5 @@ import os + import pytest try: diff --git a/tests/messages/test_catalog.py b/tests/messages/test_catalog.py index e9b15a8..eb1e308 100644 --- a/tests/messages/test_catalog.py +++ b/tests/messages/test_catalog.py @@ -15,7 +15,7 @@ import datetime import unittest from io import StringIO -from babel.dates import format_datetime, UTC +from babel.dates import UTC, format_datetime from babel.messages import catalog, pofile from babel.util import FixedOffsetTimezone diff --git a/tests/messages/test_frontend.py b/tests/messages/test_frontend.py index 8727cb8..e540e71 100644 --- a/tests/messages/test_frontend.py +++ b/tests/messages/test_frontend.py @@ -9,26 +9,32 @@ # This software consists of voluntary contributions made by many # individuals. For the exact contribution history, see the revision # history and logs, available at http://babel.edgewall.org/log/. -import shlex -from datetime import datetime -from freezegun import freeze_time -from io import StringIO -from setuptools import Distribution import logging import os +import shlex import shutil import sys import time import unittest +from datetime import datetime +from io import StringIO import pytest +from freezegun import freeze_time +from setuptools import Distribution from babel import __version__ as VERSION from babel.dates import format_datetime -from babel.messages import frontend, Catalog -from babel.messages.frontend import CommandLineInterface, extract_messages, update_catalog, OptionError, BaseError -from babel.util import LOCALTZ +from babel.messages import Catalog, frontend +from babel.messages.frontend import ( + BaseError, + CommandLineInterface, + OptionError, + extract_messages, + update_catalog, +) from babel.messages.pofile import read_po, write_po +from babel.util import LOCALTZ TEST_PROJECT_DISTRIBUTION_DATA = { "name": "TestProject", diff --git a/tests/messages/test_js_extract.py b/tests/messages/test_js_extract.py index 95985c0..7d43921 100644 --- a/tests/messages/test_js_extract.py +++ b/tests/messages/test_js_extract.py @@ -1,5 +1,7 @@ from io import BytesIO + import pytest + from babel.messages import extract diff --git a/tests/messages/test_mofile.py b/tests/messages/test_mofile.py index 6e026a8..ff7c2ed 100644 --- a/tests/messages/test_mofile.py +++ b/tests/messages/test_mofile.py @@ -14,7 +14,7 @@ import os import unittest from io import BytesIO -from babel.messages import mofile, Catalog +from babel.messages import Catalog, mofile from babel.support import Translations diff --git a/tests/messages/test_pofile.py b/tests/messages/test_pofile.py index a72368b..fb5799b 100644 --- a/tests/messages/test_pofile.py +++ b/tests/messages/test_pofile.py @@ -10,16 +10,18 @@ # individuals. For the exact contribution history, see the revision # history and logs, available at http://babel.edgewall.org/log/. -from datetime import datetime import unittest +from datetime import datetime from io import BytesIO, StringIO + import pytest from babel.core import Locale -from babel.messages.catalog import Catalog, Message from babel.messages import pofile +from babel.messages.catalog import Catalog, Message from babel.util import FixedOffsetTimezone + class ReadPoTestCase(unittest.TestCase): def test_preserve_locale(self): diff --git a/tests/test_core.py b/tests/test_core.py index a200718..f4d253c 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -13,7 +13,7 @@ import pytest from babel import core -from babel.core import default_locale, Locale +from babel.core import Locale, default_locale def test_locale_provides_access_to_cldr_locale_data(): diff --git a/tests/test_dates.py b/tests/test_dates.py index a4fb9c5..b4abaf9 100644 --- a/tests/test_dates.py +++ b/tests/test_dates.py @@ -16,7 +16,7 @@ from datetime import date, datetime, time, timedelta import freezegun import pytest -from babel import dates, Locale +from babel import Locale, dates from babel.dates import NO_INHERITANCE_MARKER, _localize from babel.util import FixedOffsetTimezone diff --git a/tests/test_day_periods.py b/tests/test_day_periods.py index 414c0f6..9b51e1d 100644 --- a/tests/test_day_periods.py +++ b/tests/test_day_periods.py @@ -1,8 +1,9 @@ from datetime import time -import babel.dates as dates import pytest +import babel.dates as dates + @pytest.mark.parametrize("locale, time, expected_period_id", [ ("de", time(7, 42), "morning1"), # (from, before) diff --git a/tests/test_localedata.py b/tests/test_localedata.py index 006a6b0..7672ddc 100644 --- a/tests/test_localedata.py +++ b/tests/test_localedata.py @@ -12,15 +12,15 @@ import os import pickle +import random import sys import tempfile import unittest -import random from operator import methodcaller import pytest -from babel import localedata, Locale, UnknownLocaleError +from babel import Locale, UnknownLocaleError, localedata class MergeResolveTestCase(unittest.TestCase): diff --git a/tests/test_numbers.py b/tests/test_numbers.py index 3ae9143..ca33c1e 100644 --- a/tests/test_numbers.py +++ b/tests/test_numbers.py @@ -12,14 +12,21 @@ import decimal import unittest -import pytest - from datetime import date +import pytest + from babel import localedata, numbers from babel.numbers import ( - list_currencies, validate_currency, UnknownCurrencyError, is_currency, normalize_currency, - get_currency_precision, get_decimal_precision, get_currency_unit_pattern) + UnknownCurrencyError, + get_currency_precision, + get_currency_unit_pattern, + get_decimal_precision, + is_currency, + list_currencies, + normalize_currency, + validate_currency, +) class FormatDecimalTestCase(unittest.TestCase): diff --git a/tests/test_plural.py b/tests/test_plural.py index 16601cf..e1e5ead 100644 --- a/tests/test_plural.py +++ b/tests/test_plural.py @@ -11,9 +11,10 @@ # history and logs, available at http://babel.edgewall.org/log/. import decimal import unittest + import pytest -from babel import plural, localedata +from babel import localedata, plural EPSILON = decimal.Decimal("0.0001") diff --git a/tests/test_smoke.py b/tests/test_smoke.py index aed676a..c916845 100644 --- a/tests/test_smoke.py +++ b/tests/test_smoke.py @@ -4,11 +4,12 @@ looking at improving test coverage. They just verify that basic operations don't fail due to odd corner cases on any locale that we ship. """ -import decimal import datetime +import decimal + import pytest -from babel import Locale, units, dates, numbers +from babel import Locale, dates, numbers, units NUMBERS = ( decimal.Decimal("-33.76"), # Negative Decimal diff --git a/tests/test_support.py b/tests/test_support.py index 3ca0be3..fe10402 100644 --- a/tests/test_support.py +++ b/tests/test_support.py @@ -13,18 +13,18 @@ import inspect import os import shutil +import sys import tempfile import unittest -import pytest -import sys from datetime import date, datetime, timedelta from io import BytesIO +import pytest + from babel import support from babel.messages import Catalog from babel.messages.mofile import write_mo - SKIP_LGETTEXT = sys.version_info >= (3, 8) @pytest.mark.usefixtures("os_environ") diff --git a/tests/test_util.py b/tests/test_util.py index ba62d9b..f58fc24 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -11,6 +11,7 @@ # history and logs, available at http://babel.edgewall.org/log/. import __future__ + import unittest from io import BytesIO -- cgit v1.2.1