r9062 - in /scripts/qa: qareport.cgi templates/by_category

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Thu Nov 8 21:53:30 UTC 2007


Author: dmn
Date: Thu Nov  8 21:53:30 2007
New Revision: 9062

URL: http://svn.debian.org/wsvn/?sc=1&rev=9062
Log:
Big change. show (with a background) where a package needs work, format=list mimics the versioncheck3 output pretty close; add notes under package name; rework the template to receive all data about a package with more OO-like interface (breaks compatibility with other templates)

Modified:
    scripts/qa/qareport.cgi
    scripts/qa/templates/by_category

Modified: scripts/qa/qareport.cgi
URL: http://svn.debian.org/wsvn/scripts/qa/qareport.cgi?rev=9062&op=diff
==============================================================================
--- scripts/qa/qareport.cgi (original)
+++ scripts/qa/qareport.cgi Thu Nov  8 21:53:30 2007
@@ -40,7 +40,7 @@
 my $ims;
 my @pkglist = get_pkglist();
 
-my( @for_upload, @for_upgrade, @weird, @waiting, @wip, @with_bugs );
+my( @for_upload, @for_upgrade, @weird, @waiting, @wip, @with_bugs, @all );
 my %bugs_by_severity;
 
 foreach my $pkg (sort @pkglist)
@@ -55,46 +55,72 @@
     my $archver = $data->{archive}{$pkg}{most_recent} || 0;
     my $archsuit = $data->{archive}{$pkg}{most_recent_src} || 0;
     my $uver = $data->{watch}{$pkg}{upstream_version};
-    my $u_uver = $data->{watch}{$pkg}{upstream_unmangled};
+    my $u_uver = $data->{watch}{$pkg}{upstream_unmangled} || 0;
     my $uurl = $data->{watch}{$pkg}{upstream_url};
     my @bugs = sort keys %{$data->{bts}{$pkg}};
 
-    my $note;
+    my @notes;
+    my %todo;
+    my $dest;   # like "destiny" :)
+    my %info = (
+        name => $pkg,
+        notes   => \@notes,
+        todo    => \%todo,
+        watch   => $data->{watch}{$pkg},
+        archive => $data->{archive}{$pkg},
+        svn     => $data->{svn}{$pkg},
+        bts     => $data->{bts}{$pkg},
+    );
     if(! $dver) {
-        $note = 'Needs to be finished';
-        push @wip, $pkg;
-    } elsif(! $archver) {
-        $note = 'Never uploaded';
-        push @for_upload, $pkg;
-    } elsif(deb_compare($archver, $dver) > 0) {
-        $note = "Ancient version in SVN";
-        push @weird, $pkg;
-    } elsif(deb_compare($archver, $dver) != 0) {
-        push @for_upload, $pkg;
-    } elsif($werr and $werr eq "Native") {
-        $note = "Native package";
-    } elsif($dwerr or not $m_dver or not $u_uver or not $uver) {
-        $note = "Watchfile problem";
-        push @wip, $pkg;
-    } elsif(deb_compare($m_dver, $u_uver) > 0) {
-        $note = "Ancient version in upstream?";
-        push @weird, $pkg;
-    } elsif(deb_compare($m_dver, $u_uver) != 0) {
-        $note = "Needs upgrading to newer upstream";
-        push @for_upgrade, $pkg;
-    } elsif($werr) {
-        $note = "Watchfile problem";
-        push @wip, $pkg;
+        push @notes, 'Needs to be finished';
+        $dest = \@wip;
+        $todo{repo} = 1;
     }
-    push @with_bugs, $pkg if(@bugs);
-    push @waiting, $pkg if($archsuit =~ /new|incoming/);
+    if(! $archver) {
+        push @notes, 'Never uploaded';
+        $dest ||= \@for_upload;
+        $todo{archive} = 1;
+    }
+    if(deb_compare($archver, $dver) > 0) {
+        push @notes, "Ancient version in SVN";
+        $dest ||= \@weird;
+        $todo{repo} = 1;
+    }
+    if(deb_compare($archver, $dver) != 0) {
+        $dest ||= \@for_upload;
+        $todo{archive} = 1;
+    }
+    if($werr and $werr eq "Native") {
+        push @notes, "Native package";
+    }
+    if($dwerr or (not $m_dver and not $undver) or not $u_uver or not $uver or $werr) {
+        push @notes, "Watchfile problem";
+        $dest ||= \@wip;
+        $todo{upstream} = 1;
+    }
+    if(deb_compare($m_dver, $u_uver) > 0) {
+        push @notes, "Ancient version in upstream?";
+        $dest ||= \@weird;
+        $todo{upstream} = 1;
+    }
+    if(deb_compare($undver||$m_dver, $u_uver) < 0) {
+        push @notes, "Needs upgrading to newer upstream";
+        $dest ||= \@for_upgrade;
+        $todo{repo} = 1;
+    }
+    $dest ||= \@with_bugs if(@bugs);
+
+    do{
+        $dest ||= \@waiting;
+        $todo{archive} = 1;
+    } if($archsuit =~ /new|incoming/);
+
+    if( %todo or @bugs )
+    {
+        push @$dest, \%info;
+        push @all, \%info;
+    }
 }
-
-my %all = map(
-    ( $_ => 1 ),
-    @wip, @for_upload, @weird, @for_upgrade, @with_bugs, @waiting,
-);
-my @all = sort keys %all;
 
 if( $ENV{GATEWAY_INTERFACE} )
 {

Modified: scripts/qa/templates/by_category
URL: http://svn.debian.org/wsvn/scripts/qa/templates/by_category?rev=9062&op=diff
==============================================================================
--- scripts/qa/templates/by_category (original)
+++ scripts/qa/templates/by_category Thu Nov  8 21:53:30 2007
@@ -5,18 +5,18 @@
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
 [% BLOCK bts_link %]
-[% IF data.bts.$pkg.size %]
-<div class="bts-info popup"><a href="http://bugs.debian.org/$pkg"
->${data.bts.$pkg.size} bug[% IF data.bts.$pkg.size > 1 %]s[% END %]</a>
-<span class="paren">[</span>
+[% IF pkg.bts.size %]
+<div class="bts-info"><div class=" popup"><a href="http://bugs.debian.org/$pkg.name"
+>$pkg.bts.keys.size</a>
+<!-- span class="paren">[</span -->
 <table class="bts-info-details balloon">
-[% FOREACH s IN data.bts.$pkg.keys.sort %]
+[% FOREACH bug IN pkg.bts.nsort %]
 <tr>
     <td>
-        <a class="bts-${data.bts.$pkg.$s.severity}"
-            href="http://bugs.debian.org/$s">#$s</a>
-        [% IF data.bts.$pkg.$s.forwarded %]
-        [% SET F = data.bts.$pkg.$s.forwarded %]
+        <a class="bts-${pkg.bts.$bug.severity}"
+            href="http://bugs.debian.org/$bug">#$bug</a>
+        [% IF pkg.bts.$bug.forwarded %]
+        [% SET F = pkg.bts.$bug.forwarded %]
         [% qm = BLOCK %]^https?:[% FILTER quotemeta %]//rt.cpan.org/[% END %].+html\?id=(\d+)[% '$' %][% END %]
         [% rt = F.match(qm) %]
         <div style="font-size: smaller">
@@ -27,43 +27,52 @@
             [% END %]
         </div>
         [% END %]
-        [% IF data.bts.$pkg.$s.keywords.length > 0 %]
+        [% IF pkg.bts.$bug.keywords.length > 0 %]
         <div style="font-size: smaller">
-            [% data.bts.$pkg.$s.keywords.split(" ").join(", ") | html %]
+            [% pkg.bts.$bug.keywords.split(" ").join(", ") | html %]
         </div>
         [% END %]
     </td>
     <td>
         [% qm = BLOCK %][% pkg | quotemeta %][% END %]
-        [% data.bts.$pkg.$s.subject.replace("^$qm:\\s*",'') | html %]</td>
+        [% pkg.bts.$bug.subject.replace("^$qm:\\s*",'') | html %]</td>
 </tr>
 [% END #FOREACH %]
 </table>
-<span class="paren">]</span>
-</div>
+<!-- span class="paren">]</span -->
+</div></div>
 [% END #IF bugs %]
 [% END #BLOCK bts_link %]
 
 [% BLOCK package %]
-    [% SET arch_ver = data.archive.$pkg.most_recent %]
-    [% SET svn_ver = data.svn.$pkg.version %]
-    [% SET svn_un_ver = data.svn.$pkg.un_version %]
+    [% SET arch_ver = pkg.archive.most_recent %]
+    [% SET svn_ver = pkg.svn.version %]
+    [% SET svn_un_ver = pkg.svn.un_version %]
     <tr>
-        <td>$pkg</td>
-        <td><a
-        href="[% "$pkg" | format("$wsvn_url") %]/debian/changelog?op=file&amp;rev=0&amp;sc=0"
-        ><span class="popup">$svn_ver<span class="balloon"
-        >[% data.svn.$pkg.changer | html %] &mdash; [% data.svn.$pkg.date | html %]</span></span>
-        [% IF svn_un_ver AND (svn_un_ver != svn_ver) %]<span
-        style="font-size: smaller"> (<span class="popup">$svn_un_ver<span
-        class="balloon">[% data.svn.$pkg.un_changer | html %] &mdash; [% data.svn.$pkg.un_date | html %]</span></span
+        <td>[% IF pkg.notes.size %]<span class="popup">$pkg.name<span
+                    class="balloon" style="margin-left:0">[% 
+                    pkg.notes.join(', ')
+                    %]</span></span>[% ELSE %]$pkg.name[% END %]</td>
+
+        <td[% IF pkg.todo.repo %] class="todo"[% END %]><a href="[% pkg.name |
+                format("$wsvn_url")
+                %]/debian/changelog?op=file&amp;rev=0&amp;sc=0"
+                ><span class="popup">$svn_ver<span class="balloon">[% pkg.svn.changer |
+                html %] &mdash; [% pkg.svn.date | html %]</span></span>
+        [% IF svn_un_ver AND (svn_un_ver != svn_ver) %]<span style="font-size:
+            smaller"> (<span class="popup">$svn_un_ver<span class="balloon">[%
+                    pkg.svn.un_changer | html %] &mdash; [% pkg.svn.un_date |
+                    html %]</span></span
         >)</span>[% END #IF %]</a></td>
-        <td>[% IF arch_ver %]<a href="http://packages.qa.debian.org/$pkg">$arch_ver</a>[% END #IF %]</td>
-        <td>[% INCLUDE bts_link data=data pkg=pkg %]</td>
-        <td><a href="[% IF data.watch.$pkg.upstream_unmangled %][%
-                data.watch.$pkg.upstream_url | html %][% ELSE %][% "$pkg"
-                | format("$wsvn_url") %][% END %]">[%
-            data.watch.$pkg.upstream_unmangled || ${data.watch.$pkg.error}
+
+        <td[% IF pkg.todo.archive %] class="todo"[% END %]>[% IF arch_ver %]<a href="http://packages.qa.debian.org/$pkg.name">$arch_ver</a>[% END #IF %]</td>
+
+        <td>[% INCLUDE bts_link pkg=pkg %]</td>
+
+        <td[% IF pkg.todo.upstream %] class="todo"[% END %]><a href="[% IF
+                pkg.watch.upstream_unmangled %][% pkg.watch.upstream_url | html
+                %][% ELSE %][% pkg.name | format("$wsvn_url") %][% END %]">[%
+                pkg.watch.upstream_unmangled || pkg.watch.error
             %]</a></td>
     </tr>
 [% END #BLOCK package %]
@@ -86,7 +95,7 @@
             <th>Upstream</th>
         </tr>
         [% FOREACH pkg IN list %]
-        [% INCLUDE package pkg=pkg data=data %]
+        [% INCLUDE package pkg=pkg %]
         [% END #FOREACH list %]
     </tbody>
     [% END #IF list.size %]
@@ -96,8 +105,8 @@
     <title>${group_name} packages overview</title>
     <style type="text/css">
         body {
-            background: Window;
-            color: WindowText;
+            background: white;
+            color: black;
             margin: 0;
             padding: 8px;
         }
@@ -111,8 +120,8 @@
             padding: 0.2em;
         }
         th.clickable, th.clickable a, th.clickable a:visited {
-            background: Menu;
-            color: MenuText;
+            background: #e0e0e0;
+            color: white;
         }
         a {
             text-decoration: none;
@@ -120,10 +129,13 @@
 /*  before enabling this, think about the link colors -- they all have to
     be visible with the new background
         tr:hover td, tr:hover th {
-            background: Highlight;
-            color: HighlightText;
+            background: #F5F5B5;
+            color: black;
         }
 */
+        .todo {
+            background: #ADDBE6;    /* lightblue */
+        }
         .bts-wishlist {
             color: green;
         }
@@ -141,7 +153,7 @@
         }
         /* From ikiwiki templates */
         .popup {
-                border-bottom: 1px dotted #366;
+        border-bottom: 1px dotted #366; /* slightly green */
                 color: #366;
         }
         .popup .balloon,
@@ -156,15 +168,18 @@
                 min-width: 15em;
                 margin: 0em 0 0 -15em;
                 padding: 0.5em;
-                border: 2px outset InfoBackground;
-                background: InfoBackground;
-                color: InfoText;
+                border: 2px outset #F5F5B5;     /* light yellowish */
+                background: #F5F5B5;            /* light yellowish */
+                color: black;
                 /* Nonstandard, but very nice. */
                 opacity: 0.95;
                 -moz-opacity: 0.95;
                 filter: alpha(opacity=95);
         }
         table.bts-info-details td:first-child {
+            text-align: center;
+        }
+        div.bts-info div.popup {
             text-align: center;
         }
         .bts-info-details p {




More information about the Pkg-perl-cvs-commits mailing list