From 270626ee705646283773cdbe2242108b3b9c2b09 Mon Sep 17 00:00:00 2001 From: Mateusz Starzyk Date: Thu, 15 Apr 2021 10:03:59 +0200 Subject: [PATCH] Allow changelog entries to have URLs exceeding 80 char limit. Signed-off-by: Mateusz Starzyk --- scripts/assemble_changelog.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/scripts/assemble_changelog.py b/scripts/assemble_changelog.py index 2c9fc0b29..b7dee4753 100755 --- a/scripts/assemble_changelog.py +++ b/scripts/assemble_changelog.py @@ -228,6 +228,8 @@ class ChangeLog: # a version that is not yet released. Something like "3.1a" is accepted. _version_number_re = re.compile(br'[0-9]+\.[0-9A-Za-z.]+') _incomplete_version_number_re = re.compile(br'.*\.[A-Za-z]') + _only_url_re = re.compile(br'^\s*\w+://\S+\s*$') + _has_url_re = re.compile(br'.*://.*') def add_categories_from_text(self, filename, line_offset, text, allow_unknown_category): @@ -246,12 +248,18 @@ class ChangeLog: category.name.decode('utf8')) body_split = category.body.splitlines() + for line_number, line in enumerate(body_split, 1): - if len(line) > MAX_LINE_LENGTH: + if not self._only_url_re.match(line) and \ + len(line) > MAX_LINE_LENGTH: + long_url_msg = '. URL exceeding length limit must be alone in its line.' \ + if self._has_url_re.match(line) else "" raise InputFormatError(filename, category.body_line + line_number, - 'Line is longer than allowed: Length {} (Max {})', - len(line), MAX_LINE_LENGTH) + 'Line is longer than allowed: ' + 'Length {} (Max {}){}', + len(line), MAX_LINE_LENGTH, + long_url_msg) self.categories[category.name] += category.body