diff options
Diffstat (limited to 'bumper')
-rwxr-xr-x | bumper | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -101,9 +101,16 @@ class Bumper(cliapp.Application): text = f.read() pattern = r'^Version \d+(\.\d+)*, released \d\d\d\d-\d\d-\d\d$' replacement = 'Version {}, not yet released'.format(version) - updated = re.sub(pattern, replacement, text, count=1, flags=re.M) + match = re.search(pattern, text, flags=re.M) + if not match: + raise cliapp.AppException('No place to insert new entry in NEWS') + before, after = text[:match.start()], text[match.start():] with open('NEWS', 'w') as f: - f.write(updated) + f.write(before) + f.write(replacement + '\n') + f.write('-' * len(replacement)) + f.write('\n\n\n') + f.write(after) def commit(self, version, msg): cliapp.runcmd(['git', 'commit', '-am', msg]) |