diff options
Diffstat (limited to 'packaging')
| -rwxr-xr-x | packaging/mkNEWS | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/packaging/mkNEWS b/packaging/mkNEWS index 7e17e9013..69c23e306 100755 --- a/packaging/mkNEWS +++ b/packaging/mkNEWS @@ -1,34 +1,42 @@ -#!/usr/bin/perl +#!/usr/bin/python3 -use strict; -use warnings; +import re +import os +import sys +import subprocess -my $wiki = "http://wiki.inkscape.org/wiki/index.php"; +wiki = "http://wiki.inkscape.org/wiki/index.php" -if (@ARGV < 1) { - print "Usage: $0 <release-number>\n"; -} +if len(sys.argv) < 2: + print("Usage: mkNEWS <release-version>") + sys.exit(1) -my $rel = shift @ARGV; +release_number = sys.argv[1] -my @page = `w3m -dump $wiki/Release_notes/$rel`; +# TODO: Use beautifulsoup +url = "%s/Release_notes/%s" %(wiki, release_number) +result = subprocess.run(["w3m", "-dump", url], stdout=subprocess.PIPE) -print "$#page lines\n"; +re_edit = re.compile(r'\[\[\d+\]edit\]', flags=re.IGNORECASE) +re_overview = re.compile(r'^\s*Inkscape '+release_number) +re_prev_rels = re.compile(r'^\s*Previous releases') -my $seen_overview = 0; -foreach my $line (@page) { +seen_overview = 0; +for line in result.stdout.decode('utf-8').split("\n"): + line = re_edit.sub("", line) - $line =~ s/\[\[\d+\]edit\]//g; + # Ignore everything before the overview section + if re_overview.match(line): + seen_overview = 1 - last if $line =~ /^\s*Previous releases/; + # Ignore everything from Previous releases onward + if re_prev_rels.match(line): + break - if ($line =~ /^\s*Inkscape $rel/) { - $seen_overview = 1; - } - next unless $seen_overview; + # TODO: Implement some additional formatting/cleanup - print $line; -} + if seen_overview: + print(line) -print "\nFor information on prior releases, please see:\n"; -print " $wiki/Inkscape\n"; +print("\nFor information on prior releases, please see:\n") +print(" %s/Inkscape\n" %(wiki)) |
