Skip to content

Commit

Permalink
Merge pull request #8293 from daverodgman/check-changelog-exts-2.28
Browse files Browse the repository at this point in the history
2.28 backport - Check changelog extensions
  • Loading branch information
daverodgman authored Oct 5, 2023
2 parents 064e732 + 3c6b7c8 commit 360320a
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion scripts/assemble_changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ def __init__(self, filename, line):
message = ('Lost content from {}: "{}"'.format(filename, line))
super().__init__(message)

class FilePathError(Exception):
def __init__(self, filenames):
message = ('Changelog filenames do not end with .txt: {}'.format(", ".join(filenames)))
super().__init__(message)

# The category names we use in the changelog.
# If you edit this, update ChangeLog.d/README.md.
STANDARD_CATEGORIES = (
Expand Down Expand Up @@ -445,15 +450,29 @@ def list_files_to_merge(options):
"""List the entry files to merge, oldest first.
"Oldest" is defined by `EntryFileSortKey`.
Also check for required .txt extension
"""
files_to_merge = glob.glob(os.path.join(options.dir, '*.txt'))
files_to_merge = glob.glob(os.path.join(options.dir, '*'))

# Ignore 00README.md
readme = os.path.join(options.dir, "00README.md")
if readme in files_to_merge:
files_to_merge.remove(readme)

# Identify files without the required .txt extension
bad_files = [x for x in files_to_merge if not x.endswith(".txt")]
if bad_files:
raise FilePathError(bad_files)

files_to_merge.sort(key=EntryFileSortKey)
return files_to_merge

def merge_entries(options):
"""Merge changelog entries into the changelog file.
Read the changelog file from options.input.
Check that all entries have a .txt extension
Read entries to merge from the directory options.dir.
Write the new changelog to options.output.
Remove the merged entries if options.keep_entries is false.
Expand Down

0 comments on commit 360320a

Please sign in to comment.