summaryrefslogtreecommitdiffstats
path: root/scripts/ubuntu-usn-desc
blob: 9894a9e88cd90fd61db06874d008c75be7a8991d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env python
# Dumps the Ubuntu-Descriptions in a form suitable for a USN announcement
import sys, deb822

def wrap(text, width):
    """
    A word-wrap function that preserves existing line breaks
    and most spaces in the text. Expects that existing line
    breaks are posix newlines (\n).
    """
    return reduce(lambda line, word, width=width: '%s%s%s' %
                  (line,
                   ' \n'[(len(line)-line.rfind('\n')-1
                         + len(word.split('\n',1)[0]
                              ) >= width)],
                   word),
                  text.split(' ')
                 )

for cve in sys.argv[1:]:
    desc = deb822.deb822(file(cve))['Ubuntu-Description'].strip()
    if len(sys.argv[1:])!=1:
        desc += " (%s)"%cve
        print
    print wrap(desc,75)

© 2014-2024 Faster IT GmbH | imprint | privacy policy