diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index bccdab76..2809b658 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -7,3 +7,5 @@ ecd598f293161a52564aa6e8dfdcc8284dc93970 db241feaa445375dc05e189e69287000ffe5fa8e # Change pre-commit to run ruff and ruff-format with fixes 6d8597addb17d5fa3027ead91427939e8e4e89ec +# Upgrade Ruff from 0.1.x to 0.4.x +0bd02c00c078fe041b65fbf4eab13601bb42676d diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0e65a965..a3e7ab17 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ # See https://pre-commit.com/hooks.html for info on hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.6.0 hooks: - id: check-added-large-files - id: check-ast @@ -14,7 +14,8 @@ repos: - id: forbid-new-submodules - id: trailing-whitespace - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.15 + # ruff version should match the one in pyproject.toml + rev: v0.4.6 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/pelican/__init__.py b/pelican/__init__.py index 8a880584..d63f88c3 100644 --- a/pelican/__init__.py +++ b/pelican/__init__.py @@ -193,15 +193,7 @@ class Pelican: ) console.print( - "Done: Processed {}, {}, {}, {}, {} and {} in {:.2f} seconds.".format( - pluralized_articles, - pluralized_drafts, - pluralized_hidden_articles, - pluralized_pages, - pluralized_hidden_pages, - pluralized_draft_pages, - time.time() - start_time, - ) + f"Done: Processed {pluralized_articles}, {pluralized_drafts}, {pluralized_hidden_articles}, {pluralized_pages}, {pluralized_hidden_pages} and {pluralized_draft_pages} in {time.time() - start_time:.2f} seconds." ) def _get_generator_classes(self): diff --git a/pelican/settings.py b/pelican/settings.py index 2cd6fb00..0585b3be 100644 --- a/pelican/settings.py +++ b/pelican/settings.py @@ -322,10 +322,7 @@ def handle_deprecated_settings(settings: Settings) -> Settings: "EXTRA_TEMPLATES_PATHS is deprecated use " "THEME_TEMPLATES_OVERRIDES instead." ) - if ( - "THEME_TEMPLATES_OVERRIDES" in settings - and settings["THEME_TEMPLATES_OVERRIDES"] - ): + if settings.get("THEME_TEMPLATES_OVERRIDES"): raise Exception( "Setting both EXTRA_TEMPLATES_PATHS and " "THEME_TEMPLATES_OVERRIDES is not permitted. Please move to " diff --git a/pelican/tests/test_generators.py b/pelican/tests/test_generators.py index 920d9061..e739e180 100644 --- a/pelican/tests/test_generators.py +++ b/pelican/tests/test_generators.py @@ -597,9 +597,9 @@ class TestArticlesGenerator(unittest.TestCase): self.assertEqual(expected, abbreviated_archives) # Day archives enabled: - settings[ - "DAY_ARCHIVE_SAVE_AS" - ] = "posts/{date:%Y}/{date:%b}/{date:%d}/index.html" + settings["DAY_ARCHIVE_SAVE_AS"] = ( + "posts/{date:%Y}/{date:%b}/{date:%d}/index.html" + ) settings["DAY_ARCHIVE_URL"] = "posts/{date:%Y}/{date:%b}/{date:%d}/" context = get_context(settings) generator = ArticlesGenerator( @@ -737,9 +737,9 @@ class TestArticlesGenerator(unittest.TestCase): all_articles=generator.articles, ) - settings[ - "DAY_ARCHIVE_SAVE_AS" - ] = "posts/{date:%Y}/{date:%b}/{date:%d}/index.html" + settings["DAY_ARCHIVE_SAVE_AS"] = ( + "posts/{date:%Y}/{date:%b}/{date:%d}/index.html" + ) settings["DAY_ARCHIVE_URL"] = "posts/{date:%Y}/{date:%b}/{date:%d}/" context = get_context(settings) generator = ArticlesGenerator( diff --git a/pelican/utils.py b/pelican/utils.py index 7017c458..78e3e807 100644 --- a/pelican/utils.py +++ b/pelican/utils.py @@ -446,15 +446,15 @@ class _HTMLWordTruncator(HTMLParser): r"{DBC}|(\w[\w'-]*)".format( # DBC means CJK-like characters. An character can stand for a word. DBC=( - "([\u4E00-\u9FFF])|" # CJK Unified Ideographs - "([\u3400-\u4DBF])|" # CJK Unified Ideographs Extension A - "([\uF900-\uFAFF])|" # CJK Compatibility Ideographs - "([\U00020000-\U0002A6DF])|" # CJK Unified Ideographs Extension B - "([\U0002F800-\U0002FA1F])|" # CJK Compatibility Ideographs Supplement - "([\u3040-\u30FF])|" # Hiragana and Katakana - "([\u1100-\u11FF])|" # Hangul Jamo - "([\uAC00-\uD7FF])|" # Hangul Compatibility Jamo - "([\u3130-\u318F])" # Hangul Syllables + "([\u4e00-\u9fff])|" # CJK Unified Ideographs + "([\u3400-\u4dbf])|" # CJK Unified Ideographs Extension A + "([\uf900-\ufaff])|" # CJK Compatibility Ideographs + "([\U00020000-\U0002a6df])|" # CJK Unified Ideographs Extension B + "([\U0002f800-\U0002fa1f])|" # CJK Compatibility Ideographs Supplement + "([\u3040-\u30ff])|" # Hiragana and Katakana + "([\u1100-\u11ff])|" # Hangul Jamo + "([\uac00-\ud7ff])|" # Hangul Compatibility Jamo + "([\u3130-\u318f])" # Hangul Syllables ) ), re.UNICODE, diff --git a/pelican/writers.py b/pelican/writers.py index 746811e1..cce01b58 100644 --- a/pelican/writers.py +++ b/pelican/writers.py @@ -27,7 +27,7 @@ class Writer: self._overridden_files = set() # See Content._link_replacer for details - if "RELATIVE_URLS" in self.settings and self.settings["RELATIVE_URLS"]: + if self.settings.get("RELATIVE_URLS"): self.urljoiner = posix_join else: self.urljoiner = lambda base, url: urljoin( diff --git a/pyproject.toml b/pyproject.toml index 39694ffc..c84c35b0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -96,7 +96,8 @@ dev = [ "pytest-xdist>=3.4.0", "tox>=4.11.3", "invoke>=2.2.0", - "ruff>=0.1.15,<0.2.0", + # ruff version should match the one in .pre-commit-config.yaml + "ruff==0.4.6", "tomli>=2.0.1; python_version < \"3.11\"", ]