From: Aarni Koskela Date: Wed, 11 Jan 2023 08:42:08 +0000 (+0200) Subject: Enable pre-commit (#943) X-Git-Tag: v2.12.0~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=61097845764f5a6afc2251172168e1b1732b290f;p=thirdparty%2Fbabel.git Enable pre-commit (#943) * Update pre-commit config syntax * CI: run pre-commit * CI: set up pip caching --- diff --git a/.coveragerc b/.coveragerc index a3d8ae65..f98d8023 100644 --- a/.coveragerc +++ b/.coveragerc @@ -2,4 +2,4 @@ exclude_lines = NotImplemented pragma: no cover - warnings.warn \ No newline at end of file + warnings.warn diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f9a7bee0..1e898617 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,6 +11,11 @@ on: - '*-maint' jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: pre-commit/action@v3.0.0 test: runs-on: ${{ matrix.os }} strategy: @@ -27,9 +32,11 @@ jobs: path: cldr key: cldr-${{ hashFiles('scripts/*cldr*') }} - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} + cache: "pip" + cache-dependency-path: "**/setup.py" - name: Install dependencies run: | python -m pip install --upgrade pip setuptools wheel diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0a345cee..b61dac46 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,19 +1,18 @@ -- repo: https://github.com/pre-commit/pre-commit-hooks - sha: 97b88d9610bcc03982ddac33caba98bb2b751f5f +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 hooks: - - id: autopep8-wrapper - exclude: (docs/conf.py|tests/messages/data/) - - id: check-added-large-files - - id: check-docstring-first + - id: check-added-large-files + - id: check-docstring-first exclude: (docs/conf.py) - - id: check-json - - id: check-yaml - - id: debug-statements - - id: end-of-file-fixer - - id: flake8 - exclude: (docs/conf.py|babel/messages/__init__.py|babel/__init__.py|tests/messages/data|scripts/import_cldr.py) - - id: name-tests-test - args: ['--django'] + - id: check-json + - id: check-yaml + - id: debug-statements exclude: (tests/messages/data/) - - id: requirements-txt-fixer - - id: trailing-whitespace + - id: end-of-file-fixer + exclude: (tests/messages/data/) + - id: name-tests-test + args: [ '--django' ] + exclude: (tests/messages/data/) + - id: requirements-txt-fixer + - id: trailing-whitespace diff --git a/babel/messages/pofile.py b/babel/messages/pofile.py index a213b223..b366ccb4 100644 --- a/babel/messages/pofile.py +++ b/babel/messages/pofile.py @@ -575,7 +575,7 @@ def write_po(fileobj, catalog, width=76, no_location=False, omit_header=False, # if no sorting possible, leave unsorted. # (see issue #606) try: - locations = sorted(message.locations, + locations = sorted(message.locations, key=lambda x: (x[0], isinstance(x[1], int) and x[1] or -1)) except TypeError: # e.g. "TypeError: unorderable types: NoneType() < int()" locations = message.locations diff --git a/docs/installation.rst b/docs/installation.rst index c1b7ab9f..26fe23a4 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -86,7 +86,7 @@ Get the git checkout in a new virtualenv and run in development mode:: Finished processing dependencies for Babel Make sure to not forget about the ``pip install pytz`` and ``import_cldr`` steps -because otherwise you will be missing the locale data. +because otherwise you will be missing the locale data. The custom setup command will download the most appropriate CLDR release from the official website and convert it for Babel but will not work without ``pytz``.