SVN devscripts commit: r559 - trunk/scripts
Adam D. Barratt
adam-guest at alioth.debian.org
Sat Mar 10 22:46:26 CET 2007
Author: adam-guest
Date: 2007-03-10 21:46:26 +0000 (Sat, 10 Mar 2007)
New Revision: 559
Modified:
trunk/scripts/bts.pl
Log:
Version graph fixes - handle graphs with fixed version, properly handle collapsed graphs, handle both found=version and
found=package/version
Modified: trunk/scripts/bts.pl
===================================================================
--- trunk/scripts/bts.pl 2007-03-10 12:48:32 UTC (rev 558)
+++ trunk/scripts/bts.pl 2007-03-10 21:46:26 UTC (rev 559)
@@ -1952,9 +1952,11 @@
# occurrence of either "[<a " or plain "<a ", preserving any "[".
my @data = split /(?:(?=\[<[Aa]\s)|(?<!\[)(?=<[Aa]\s))/, $toppage;
foreach (@data) {
- next unless m%<a(?: class=\".*?\")? href="((bugreport\.cgi[^\"]+)">|(version\.cgi[^\"]+)">(<img[^>]+>)?)%i;
- my $ref = $2;
- $ref = $3 if not defined $ref;
+ next unless m%<a(?: class=\".*?\")? href="((bugreport\.cgi[^\"]+)">|(version\.cgi[^\"]+)"><img src="([^\"]+)">|(version.cgi[^\"]+)">)%i;
+ my $ref = $5;
+ $ref = $4 if not defined $ref;
+ $ref = $2 if not defined $ref;
+
my ($msg, $filename) = href_to_filename($_);
next unless defined $msg;
@@ -1986,7 +1988,7 @@
# Always need refreshing, as they could change each time the
# bug does
}
- elsif ($cachemode eq 'full' and $msg =~ /^versions(coll)?$/) {
+ elsif ($cachemode eq 'full' and $msg =~ /^versions(fixed)?(coll)?$/) {
$bug2filename{$msg} = $filename;
# already downloaded?
next if -f $bug2filename{$msg} and not $refreshmode;
@@ -2133,8 +2135,13 @@
s%<a((?: class=\".*?\")?) href="(pkgreport\.cgi\?src=([^\"&;]+)[^\"]*)">(.+?)</a>%<a$1 href="src_$3.html">$4</a> (<a$1 href="$btscgiurl$2">online</a>)%i;
s%<a((?: class=\".*?\")?) href="(pkgreport\.cgi\?submitter=([^\"&;]+)[^\"]*)">(.+?)</a>%<a$1 href="from_$3.html">$4</a> (<a$1 href="$btscgiurl$2">online</a>)%i;
s%<a((?: class=\".*?\")?) href="(?:/cgi-bin/)?(bugspam\.cgi[^\"]+)">%<a$1 href="$btscgiurl$2">%i;
+ s%<a((?: class=\".*?\")?) href="(version\.cgi\?package=(?:[^;]+);found=([^\%]+)\%2F([^;]+);fixed=([^\%]+)\%2F([^\";]+))(?:;[^\"]+)?">(.*?)</a>%<a$1 href="$3.$4.$5.$6.png">$7</a>%;
s%<a((?: class=\".*?\")?) href="(version\.cgi\?package=(?:[^;]+);found=([^\%]+)\%2F([^\";]+))(?:;[^\"]+)?">(.*?)</a>%<a$1 href="$3.$4.png">$5</a>%;
+ s%<a((?: class=\".*?\")?) href="(version\.cgi\?package=([^;]+);found=([^\";]+))(?:;[^\"]+)?">(.*?)</a>%<a$1 href="$3.$4.png">$5</a>%;
+ s%<img((?: class=\".*?\")?) src="(version\.cgi\?package=(?:[^;]+);found=([^\%]+)\%2F([^;]+);fixed=([^\%]+)\%2F([^;]+);width=([^;]+);height=([^;\"]+)(?:[^\"]*));collapse=1">%<img$1 src="$3.$4.$5.$6.collapsed.png" width="25\%" height="25\%">%;
+ s%<img((?: class=\".*?\")?) src="(version\.cgi\?package=(?:[^;]+);found=([^\%]+)\%2F([^;]+);fixed=([^\%]+)\%2F([^;]+);width=([^;]+);height=([^;\"]+)(?:[^\"]*))">%<img$1 src="$3.$4.$5.$6.png" width="25\%" height="25\%">%;
s%<img((?: class=\".*?\")?) src="(version\.cgi\?package=(?:[^;]+);found=([^\%]+)\%2F([^;]+);width=([^;]+);height=([^;\"]+)(?:[^\"]*));collapse=1">%<img$1 src="$3.$4.collapsed.png" width="25\%" height="25\%">%;
+ s%<img((?: class=\".*?\")?) src="(version\.cgi\?package=([^;]+);found=([^;]+);width=([^;]+);height=([^;\"]+)(?:[^\"]*));collapse=1">%<img$1 src="$3.$4.collapsed.png" width="25\%" height="25\%">%;
s%<img((?: class=\".*?\")?) src="(version\.cgi\?package=(?:[^;]+);found=([^\%]+)\%2F([^;]+);width=([^;]+);height=([^;\"]+)(?:[^\"]*))">%<img$1 src="$3.$4.png" width="25\%" height="25\%">%;
}
}
@@ -2329,16 +2336,36 @@
return undef;
}
}
- elsif ($href =~ m%<a href=\"version\.cgi[^>]+><img src=\"version\.cgi\?package=[^;]+;found=([^\%]+)\%2F([^;]+);[^\"]*collapse=1\">%) {
+ elsif ($href =~ m%<a href=\"version\.cgi[^>]+><img src=\"version\.cgi\?package=[^;]+;found=([^\%]+)\%2F([^;]+);fixed=([^\%]+)\%2F([^;]+);[^\"]*collapse=1\">%) {
+ my $foundpackage = $1;
+ my $foundversion = $2;
+ my $fixedpackage = $3;
+ my $fixedversion = $4;
+
+ $msg = 'versionsfixedcoll';
+ $filename = "$foundpackage.$foundversion.$fixedpackage.$fixedversion.collapsed.png";
+ }
+ elsif ($href =~ m%<a href=\"version\.cgi[^>]+><img src=\"version\.cgi\?package=([^;]+);found=(([^\%]+)\%2F)?([^;]+);[^\"]*collapse=1\">%) {
my $package = $1;
- my $version = $2;
+ my $version = $4;
+ $version = $2 if not defined $version;
$msg = 'versionscoll';
$filename = "$package.$version.collapsed.png";
}
- elsif ($href =~ m%<a href=\"version\.cgi\?package=[^;]+;found=([^\%]+)\%2F([^\"]+)\">%) {
+ elsif ($href =~ m%<a href=\"version\.cgi\?package=[^;]+;found=([^\%]+)\%2F([^;]+);fixed=([^\%]+)\%2F([^\"]+)\">%) {
+ my $foundpackage = $1;
+ my $foundversion = $2;
+ my $fixedpackage = $3;
+ my $fixedversion = $4;
+
+ $msg = 'versionsfixed';
+ $filename = "$foundpackage.$foundversion.$fixedpackage.$fixedversion.png";
+ }
+ elsif ($href =~ m%<a href=\"version\.cgi\?package=([^;]+);found=(([^\%]+)\%2F)?([^\"]+)\">%) {
my $package = $1;
- my $version = $2;
+ my $version = $4;
+ $version = $2 if not defined $version;
$msg = 'versions';
$filename = "$package.$version.png";
More information about the Devscripts-devel
mailing list