File indexing completed on 2024-05-19 04:19:14
0001 #!/usr/bin/perl 0002 0003 # SPDX-FileCopyrightText: 2008-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0004 # 0005 # SPDX-License-Identifier: BSD-3-Clause 0006 0007 use strict; 0008 use LWP::UserAgent; 0009 use File::Slurp; 0010 0011 my $NEWS_FILE = "NEWS"; 0012 my $version = "7.2.0"; 0013 0014 my $header = 'BUGFIXES FROM KDE BUGZILLA'; 0015 my $url = "https://bugs.kde.org/buglist.cgi?f1=cf_versionfixedin&order=Last%20Changed&o1=equals&query_format=advanced&bug_status=RESOLVED&bug_status=CLOSED&v1=$version&product=digikam&columnlist=short_desc&ctype=csv"; 0016 0017 my $ua = LWP::UserAgent->new; 0018 print "Fetching closed bugs for digiKam version ${version} ..\n"; 0019 print "URL: $url\n"; 0020 0021 my $response = $ua->get($url); 0022 unless($response->is_success) { 0023 die "Fetching the closed bugs failed: $response->status_line"; 0024 } 0025 0026 my $new_content; 0027 my $header_done = 0; 0028 foreach my $line (split(/\n/, read_file($NEWS_FILE))) { 0029 $new_content .= $line . "\n"; 0030 if($line =~ /^$header.+/) { 0031 $new_content .= "\n"; # append extra newline 0032 $header_done = 1; 0033 last; 0034 } 0035 } 0036 0037 my $count = 0; 0038 my $fixed_bugs; 0039 my @content = split(/\n/, $response->decoded_content); 0040 foreach my $line (@content) { 0041 unless($count == 0) { 0042 my $num = sprintf("%03d", $count); 0043 my($bugnum, $desc) = $line =~ /(\d+),"(.+)"/; 0044 $desc =~ s/\"\"/\"/g; 0045 $fixed_bugs .= "$num ==> $bugnum - $desc\n"; 0046 } 0047 $count++; 0048 } 0049 $new_content .= $fixed_bugs; 0050 write_file($NEWS_FILE, $new_content); 0051 print "$NEWS_FILE updated.\n"