#!/usr/bin/env python
"""Parse a changelog into trello checklist markdown for SRUs."""
import argparse
import re
def get_parser():
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--changelog', required=True, help='Changelog file to parser')
return parser
def main():
parser = get_parser()
args = parser.parse_args()
with open(args.changelog, 'rb') as stream:
content = stream.read()
for item in content.split('- '):
# strip all whitespace/newlines
changelog_item = ' '.join(item.split())
m = re.match(r'.*\(LP: #(?P<bug>\d+)\).*', changelog_item)
if m:
bugnum = m.group('bug')
trello_bug_prefix = '[LP: #{bug}](http://pad.lv/{bug}) '.format(
bug=bugnum)
# Strip bug details from end and put it as markdown in prefix
changelog_item.replace('(LP: #{0}'.format(bugnum), '')
print(' - {0} {1}'.format(trello_bug_prefix, changelog_item))
if __name__ == '__main__':
main()