diff options
author | Aarni Koskela <akx@iki.fi> | 2023-01-11 10:42:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-11 10:42:08 +0200 |
commit | 61097845764f5a6afc2251172168e1b1732b290f (patch) | |
tree | 4fe79ad51cd414a022644c94013c770576a0206f | |
parent | 338bfa13c39df0837dd45cf492eb24d8d214ba96 (diff) | |
download | babel-61097845764f5a6afc2251172168e1b1732b290f.tar.gz |
Enable pre-commit (#943)
* Update pre-commit config syntax
* CI: run pre-commit
* CI: set up pip caching
-rw-r--r-- | .coveragerc | 2 | ||||
-rw-r--r-- | .github/workflows/test.yml | 9 | ||||
-rw-r--r-- | .pre-commit-config.yaml | 31 | ||||
-rw-r--r-- | babel/messages/pofile.py | 2 | ||||
-rw-r--r-- | docs/installation.rst | 2 |
5 files changed, 26 insertions, 20 deletions
diff --git a/.coveragerc b/.coveragerc index a3d8ae6..f98d802 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 f9a7bee..1e89861 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 0a345ce..b61dac4 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 a213b22..b366ccb 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 c1b7ab9..26fe23a 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``. |