Check for incorrect changelog extensions
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/scripts/assemble_changelog.py b/scripts/assemble_changelog.py
index d27cc47..7c9f76e 100755
--- a/scripts/assemble_changelog.py
+++ b/scripts/assemble_changelog.py
@@ -60,6 +60,11 @@
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 = (
@@ -450,14 +455,23 @@
files_to_merge.sort(key=EntryFileSortKey)
return files_to_merge
+def check_extensions(options):
+ files = glob.glob(os.path.join(options.dir, '*'))
+ files = {x for x in files if not x.endswith(".txt")}
+ files.discard("ChangeLog.d/00README.md")
+ if files:
+ raise FilePathError(files)
+
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.
"""
+ check_extensions(options)
with open(options.input, 'r', encoding='utf-8') as input_file:
changelog = ChangeLog(input_file, TextChangelogFormat)
files_to_merge = list_files_to_merge(options)