summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorPierre Sassoulas <pierre.sassoulas@gmail.com>2023-03-20 19:31:22 +0100
committerGitHub <noreply@github.com>2023-03-20 19:31:22 +0100
commit9488c8c7576ed13e42a295041551df046d2f7d56 (patch)
tree71acaf5a1ca8b67be79e14791386ca75ddaca4a3 /script
parent7ba0148029de69ac5d3f45b082a823e8017eaf13 (diff)
downloadpylint-git-9488c8c7576ed13e42a295041551df046d2f7d56.tar.gz
[cleanup] Remove the script for checking changelog (#8461)
There's no more changelog to check. Since 2.16 we use tbump to generate the changelog from fragments and there's a script to check fragment 'check-newsfragments'. We should not modify the legacy changelog, or very little. Refs #8335
Diffstat (limited to 'script')
-rw-r--r--script/fix_documentation.py103
1 files changed, 0 insertions, 103 deletions
diff --git a/script/fix_documentation.py b/script/fix_documentation.py
deleted file mode 100644
index e8def2f73..000000000
--- a/script/fix_documentation.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
-
-"""Small script to fix various issues with the documentation. Used by pre-commit."""
-
-from __future__ import annotations
-
-import argparse
-import re
-import sys
-
-INVALID_CODE_BLOCK_PATTERN = (
- r"(?<=\s`)([\w\-\.\(\)\=]+\s{0,1}[\w\-\.\(\)\=]*)(?=`[,\.]{0,1}\s|$)"
-)
-
-# TODO: 2.16.0: Upgrade script for change in changelog
-DEFAULT_CHANGELOG = "ChangeLog"
-DEFAULT_SUBTITLE_PREFIX = "What's New in"
-
-
-def fix_inline_code_blocks(file_content: str) -> str:
- """Use double quotes for code blocks. RST style.
-
- Example:
- `hello-world` -> ``hello-world``
- """
- pattern = re.compile(INVALID_CODE_BLOCK_PATTERN)
- return pattern.sub(r"`\g<0>`", file_content)
-
-
-def changelog_insert_empty_lines(file_content: str, subtitle_text: str) -> str:
- """Insert up to two empty lines before `What's New` entry in ChangeLog."""
- lines = file_content.split("\n")
- subtitle_count = 0
- for i, line in enumerate(lines):
- if line.startswith(subtitle_text):
- subtitle_count += 1
- if subtitle_count == 1 or i < 2 or not lines[i - 1] and not lines[i - 2]:
- continue
- lines.insert(i, "")
- return "\n".join(lines)
-
-
-class CustomHelpFormatter(argparse.HelpFormatter):
- def __init__(
- self,
- prog: str,
- indent_increment: int = 2,
- max_help_position: int = 24,
- width: int | None = None,
- ) -> None:
- max_help_position = 40
- super().__init__(
- prog,
- indent_increment=indent_increment,
- max_help_position=max_help_position,
- width=width,
- )
-
-
-def main(argv: list[str] | None = None) -> int:
- argv = argv or sys.argv[1:]
- parser = argparse.ArgumentParser(formatter_class=CustomHelpFormatter)
- parser.add_argument(
- "--changelog",
- metavar="file",
- default=DEFAULT_CHANGELOG,
- help="Changelog filename (default: '%(default)s')",
- )
- parser.add_argument(
- "--subtitle-prefix",
- metavar="prefix",
- default=DEFAULT_SUBTITLE_PREFIX,
- help="Subtitle prefix (default: '%(default)s')",
- )
- parser.add_argument(
- "filenames",
- nargs="*",
- metavar="FILES",
- help="File names to modify",
- )
- args = parser.parse_args(argv)
-
- return_value: int = 0
- for file_name in args.filenames:
- with open(file_name, encoding="utf-8") as fp:
- original_content = fp.read()
- content = original_content
- # Modify files
- content = fix_inline_code_blocks(content)
- if file_name == args.changelog:
- content = changelog_insert_empty_lines(content, args.subtitle_prefix)
- # If modified, write changes and eventually return 1
- if original_content != content:
- with open(file_name, "w", encoding="utf-8") as fp:
- fp.write(content)
- return_value |= 1
- return return_value
-
-
-if __name__ == "__main__":
- sys.exit(main())