diff --git a/scripts/assemble_changelog.py b/scripts/assemble_changelog.py index 02bae25b7..2c9fc0b29 100755 --- a/scripts/assemble_changelog.py +++ b/scripts/assemble_changelog.py @@ -101,6 +101,9 @@ STANDARD_CATEGORIES = ( b'Changes', ) +# The maximum line length for an entry +MAX_LINE_LENGTH = 80 + CategoryContent = namedtuple('CategoryContent', [ 'name', 'title_line', # Title text and line number of the title 'body', 'body_line', # Body text and starting line number of the body @@ -241,6 +244,15 @@ class ChangeLog: line_offset + category.title_line, 'Unknown category: "{}"', category.name.decode('utf8')) + + body_split = category.body.splitlines() + for line_number, line in enumerate(body_split, 1): + if len(line) > MAX_LINE_LENGTH: + raise InputFormatError(filename, + category.body_line + line_number, + 'Line is longer than allowed: Length {} (Max {})', + len(line), MAX_LINE_LENGTH) + self.categories[category.name] += category.body def __init__(self, input_stream, changelog_format):