diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index deab1e89d..ddc43b9cb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: c59bba8fb259db0fec2bbb77ad8ba51ea7341b56 # frozen: v0.15.20 + rev: 38bfb07c0c64c304f47eb52090f8288150c77730 # frozen: v0.17.1 hooks: - id: ruff-check args: [--fix, --exit-non-zero-on-fix] @@ -20,7 +20,7 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 1a4bb160cab6417b3045e1b37b6b72449243e658 # frozen: 0.37.4 + rev: 4f85d46a92dc17713078e5de73f8a13190edf6fc # frozen: 0.38.2 hooks: - id: check-github-workflows @@ -35,7 +35,7 @@ repos: - id: check-useless-excludes - repo: https://github.com/pre-commit/mirrors-mypy - rev: d2823d321df3af8f878f7ee3414dc94d037145b9 # frozen: v2.1.0 + rev: 2834ec6639549dd6796205c8f011dedcd587288b # frozen: v2.4.0 hooks: - id: mypy additional_dependencies: [types-docutils, types-polib>=1.2.0.20250114, types-requests] @@ -47,13 +47,13 @@ repos: args: [".", "--per-rule-ignores", "DEP002=python-docs-theme", "--package-module-name-map", "gitpython=git,sphinx-lint=sphinxlint"] - repo: https://github.com/djlint/djLint - rev: 9112cb64851c95a7802358af285d21ad8b7f6437 # frozen: v1.36.4 + rev: 1399b56bfc493191c39ff1a525a8ab9c11201cd3 # frozen: v1.46.6 hooks: - id: djlint-reformat-jinja - id: djlint-jinja - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: e3eebf65325ccc992422292cb7a4baee967cf815 # frozen: v1.26.1 + rev: fa412071e4f5d44d44f9e365f4676f9df92456a2 # frozen: v1.30.1 hooks: - id: zizmor diff --git a/generate.py b/generate.py index 36159b11e..23a751dcd 100644 --- a/generate.py +++ b/generate.py @@ -1,25 +1,26 @@ from __future__ import annotations -import json import concurrent.futures import itertools +import json import logging import subprocess from collections.abc import Iterator -from dataclasses import dataclass, asdict -from datetime import datetime, timezone +from dataclasses import asdict, dataclass +from datetime import UTC, datetime from pathlib import Path from git import Repo from jinja2 import Environment, FileSystemLoader from urllib3 import PoolManager -import translated_names import contribute +import translated_names from completion import branches_from_peps, get_completion, release_cycle_from_peps from repositories import Language, get_languages_and_repos -generation_time = datetime.now(timezone.utc) +logger = logging.getLogger('pydocs-translation-dashboard') +generation_time = datetime.now(UTC) def get_completion_progress() -> Iterator[LanguageProjectData]: @@ -111,7 +112,7 @@ def completion_score(self) -> float: if __name__ == '__main__': logging.basicConfig(level=logging.INFO) - logging.info(f'starting at {generation_time}') + logger.info('starting at %s', generation_time) Path('build').mkdir(parents=True, exist_ok=True) completion_progress = list(get_completion_progress()) @@ -123,7 +124,7 @@ def completion_score(self) -> float: python_version=python_version, release_cycle_status=release_cycle_from_peps()[python_version]['status'], generation_time=generation_time, - duration=(datetime.now(timezone.utc) - generation_time).seconds, + duration=(datetime.now(UTC) - generation_time).seconds, ) Path('build/style.css').write_bytes(Path('src/style.css').read_bytes()) diff --git a/generate_build_details.py b/generate_build_details.py index c9d8054db..075cc7c08 100644 --- a/generate_build_details.py +++ b/generate_build_details.py @@ -2,7 +2,7 @@ import itertools import logging from collections.abc import Iterator, Sequence -from datetime import datetime, timezone +from datetime import UTC, datetime from json import loads from pathlib import Path from sys import argv @@ -17,7 +17,8 @@ from generate import LanguageProjectData from repositories import Language -generation_time = datetime.now(timezone.utc) +logger = logging.getLogger('pydocs-translation-dashboard') +generation_time = datetime.now(UTC) def get_projects_build_details( @@ -54,7 +55,7 @@ def get_language_repo_and_completion( if __name__ == '__main__': logging.basicConfig(level=logging.INFO) - logging.info(f'starting at {generation_time}') + logger.info('starting at %s', generation_time) env = Environment(loader=FileSystemLoader('templates')) if (index_path := Path('build/index.json')).exists(): index_json = loads(Path('build/index.json').read_text()) @@ -70,7 +71,7 @@ def get_language_repo_and_completion( completion_progress, get_projects_build_details(completion_progress) ), generation_time=generation_time, - duration=(datetime.now(timezone.utc) - generation_time).seconds, + duration=(datetime.now(UTC) - generation_time).seconds, ) Path('build/build-details.html').write_text(output) diff --git a/repositories.py b/repositories.py index d45cdde70..89d698ca7 100644 --- a/repositories.py +++ b/repositories.py @@ -4,7 +4,7 @@ from pathlib import Path from docutils import core -from docutils.nodes import table, row +from docutils.nodes import row, table def get_languages_and_repos( diff --git a/sphinx_lint.py b/sphinx_lint.py index 76d1bc242..9c11b0563 100644 --- a/sphinx_lint.py +++ b/sphinx_lint.py @@ -8,9 +8,7 @@ def store_and_count_failures(clones_dir: str, repo: str, language_code: str) -> int: failed_checks = list(chain.from_iterable(yield_failures(clones_dir, repo))) prefix = f'{Path(clones_dir, "rebased_translations", repo)}/' - log = '\n'.join( - map(lambda check: check.removeprefix(prefix), map(str, failed_checks)) - ) + log = '\n'.join(check.removeprefix(prefix) for check in map(str, failed_checks)) filepath = Path(f'build/warnings-lint-{language_code}.txt') filepath.write_text(log) return len(failed_checks) diff --git a/src/style.css b/src/style.css index 1d562eb8a..59dacbfdd 100644 --- a/src/style.css +++ b/src/style.css @@ -220,6 +220,14 @@ ul.links-row li:not(:first-child)::before { height: 20px; } +.progress-bar.main-bar { + background: linear-gradient( + to left, + #94cf96 var(--progress-change, 0%), + #4caf50 var(--progress-change, 0%) + ); +} + .outer-label { display: none; padding-left: .5em; diff --git a/templates/progress_bar.html.jinja b/templates/progress_bar.html.jinja index 19b94d799..0da5ac140 100644 --- a/templates/progress_bar.html.jinja +++ b/templates/progress_bar.html.jinja @@ -4,11 +4,12 @@ - change: numeric change value (same units as width) or falsy #}