r16079 - in /scripts/qa: DebianQA/Config.pm debianqa.conf-sample qareport.cgi templates/by_category

tincho-guest at users.alioth.debian.org tincho-guest at users.alioth.debian.org
Sat Mar 1 21:08:53 UTC 2008


Author: tincho-guest
Date: Sat Mar  1 21:08:52 2008
New Revision: 16079

URL: http://svn.debian.org/wsvn/?sc=1&rev=16079
Log:
Implement new options for default values for CGI parameters:
 - default_show_all
 - default_start_collapsed
 - default_hide_binaries
 - default_refresh
 - default_format
 - default_ignore_keywords 

Modified:
    scripts/qa/DebianQA/Config.pm
    scripts/qa/debianqa.conf-sample
    scripts/qa/qareport.cgi
    scripts/qa/templates/by_category

Modified: scripts/qa/DebianQA/Config.pm
URL: http://svn.debian.org/wsvn/scripts/qa/DebianQA/Config.pm?rev=16079&op=diff
==============================================================================
--- scripts/qa/DebianQA/Config.pm (original)
+++ scripts/qa/DebianQA/Config.pm Sat Mar  1 21:08:52 2008
@@ -25,6 +25,12 @@
         group_name => "Unnamed Packaging Group",
         group_url => "http://www.debian.org/",
         wsvn_url => undef,
+        default_show_all => undef,
+        default_start_collapsed => undef,
+        default_hide_binaries => undef,
+        default_refresh => 1800,        # 30 minutes
+        default_format => "categories", # or list
+        default_ignore_keywords => undef # comma-separated list
     },
     svn => {
         repository => undef,

Modified: scripts/qa/debianqa.conf-sample
URL: http://svn.debian.org/wsvn/scripts/qa/debianqa.conf-sample?rev=16079&op=diff
==============================================================================
--- scripts/qa/debianqa.conf-sample (original)
+++ scripts/qa/debianqa.conf-sample Sat Mar  1 21:08:52 2008
@@ -11,7 +11,14 @@
 group_url = http://pkg-foo.alioth.debian.org/
 ; sprintf format for the package wsvn location, takes one parameter, the
 ; package directory.
-;wsvn_url = http://svn.debian.org/wsvn/pkg-perl/trunk/%s
+;wsvn_url = http://svn.debian.org/wsvn/pkg-foo/trunk/%s
+; Defaults for CGI options
+;default_show_all = 0
+;default_start_collapsed = 0
+;default_hide_binaries = 0
+;default_refresh = 1800 ; 30 minutes
+;default_format = categories ; or list
+;default_ignore_keywords = ; comma-separated list
 
 [svn]
 repository = svn://svn.debian.org/svn/pkg-foo

Modified: scripts/qa/qareport.cgi
URL: http://svn.debian.org/wsvn/scripts/qa/qareport.cgi?rev=16079&op=diff
==============================================================================
--- scripts/qa/qareport.cgi (original)
+++ scripts/qa/qareport.cgi Sat Mar  1 21:08:52 2008
@@ -26,6 +26,32 @@
 
 my $cgi = new CGI;
 
+my %param_defaults = (
+    template =>         $CFG{qareport_cgi}{default_template},
+    show_all =>         $CFG{qareport_cgi}{default_show_all},
+    start_collapsed =>  $CFG{qareport_cgi}{default_start_collapsed},
+    hide_binaries =>    $CFG{qareport_cgi}{default_hide_binaries},
+    refresh =>          $CFG{qareport_cgi}{default_refresh},
+    format =>           $CFG{qareport_cgi}{default_format},
+    ignore_keywords =>  $CFG{qareport_cgi}{default_ignore_keywords},
+);
+foreach(qw(show_all start_collapsed hide_binaries)) {
+    $param_defaults{$_} = $param_defaults{$_} ? 1 : 0;
+}
+$param_defaults{ignore_keywords} = [ split(
+    /\s*,\s*/, ($param_defaults{ignore_keywords} || "")) ];
+
+my %params;
+foreach(qw(template show_all start_collapsed hide_binaries refresh format
+    ignore_keywords)) {
+    my @p = $cgi->param($_);
+    if(@p) {
+        $params{$_} = ref $param_defaults{$_} ? \@p : $p[0];
+    } else {
+        $params{$_} = $param_defaults{$_};
+    }
+}
+
 my $cache = read_cache(consolidated => "");
 
 my @modified;
@@ -46,7 +72,7 @@
 my( @no_prob, @for_upload, @for_upgrade, @weird, @waiting, @wip, @with_bugs,
     @tagged, @all );
 
-my %ignore = map({ $_ => 1 } $cgi->param("ignore_keywords"));
+my %ignore = map({ $_ => 1 } @{$params{ignore_keywords}});
 my %keywords = ();
 foreach my $p (values %$cls) {
     foreach my $bug (keys %{$p->{bts}}) {
@@ -59,7 +85,7 @@
         delete $p->{hilight}{bts};
     }
 }
-unless($cgi->param("show_all"))
+unless($params{show_all})
 {
     foreach(keys %$cls)
     {
@@ -120,12 +146,11 @@
             "%a, %d %b %Y %T %Z",
             localtime($last_modified),
         ),
-        $cgi->param("refresh") ? (-refresh => $cgi->param("refresh")) : (),
+        $params{"refresh"} ? (-refresh => $params{"refresh"}) : (),
     );
     setlocale(LC_TIME, $old_locale);
 }
 
-my $template = $cgi->param("template") || $CFG{qareport_cgi}{default_template};
 my $tt = new Template(
     {
         INCLUDE_PATH => $CFG{qareport_cgi}{templates_path},
@@ -138,7 +163,7 @@
 );
 
 $tt->process(
-    $template,
+    $params{"template"},
     {
         data        => $cls,
         group_email => $CFG{common}{group_email},
@@ -146,7 +171,7 @@
         group_url   => $CFG{qareport_cgi}{group_url},
         wsvn_url    => $CFG{qareport_cgi}{wsvn_url},
         (
-            ( ($cgi->param('format')||'') eq 'list' )
+            ( ($params{'format'}||'') eq 'list' )
             ? (
                 all => \@all
             )
@@ -163,12 +188,13 @@
         ),
         shown_packages => scalar(@all),
         total_packages => scalar(@pkglist),
-#       params         => scalar($cgi->Vars()),
         last_modified  => POSIX::strftime("%a, %d %b %Y %T %Z",
             localtime($last_modified)),
         now            => POSIX::strftime("%a, %d %b %Y %T %Z",
             localtime(time)),
         keywords       => [ "", sort keys %keywords ],
+        param_defaults => \%param_defaults,
+        params         => \%params,
     },
 ) || die $tt->error;
 

Modified: scripts/qa/templates/by_category
URL: http://svn.debian.org/wsvn/scripts/qa/templates/by_category?rev=16079&op=diff
==============================================================================
--- scripts/qa/templates/by_category (original)
+++ scripts/qa/templates/by_category Sat Mar  1 21:08:52 2008
@@ -3,10 +3,6 @@
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-[% USE CGI %]
-[% SET hide_binaries = CGI.param("hide_binaries") %]
-[% SET start_collapsed = CGI.param("start_collapsed") %]
 
 [% MACRO quote(s) BLOCK %][% s | quotemeta %][% END %]
 [% MACRO format_email(s) BLOCK %][%
@@ -122,7 +118,7 @@
             [% IF pkg.svn.section AND pkg.svn.section != "main" %]
             <span class="section-$pkg.svn.section">[$pkg.svn.section]</span>
             [% END #IF %]
-            [% IF ! hide_binaries
+            [% IF ! params.hide_binaries
                 AND pkg.svn.binaries AND pkg.svn.binaries.size
                 AND (
                     pkg.svn.binaries.size > 1
@@ -217,7 +213,7 @@
         </tr>
     </tbody>
     [% END #IF title and name %]
-    <tbody[% IF name %] id="$name" style="display: [% IF start_collapsed %]none[% ELSE %]table-row-group[% END %]"[% END %]>
+    <tbody[% IF name %] id="$name" style="display: [% IF params.start_collapsed %]none[% ELSE %]table-row-group[% END %]"[% END %]>
         <tr>
             <th>Package</th>
             <th>Repository</th>
@@ -262,19 +258,23 @@
 
 <div id="options">
 <h2>Options</h2>
+[% USE CGI %]
 [% CGI.start_form({ Method => 'GET' }) %]
 <p>
-[% CGI.checkbox({ Name => 'show_all', Label => "Show all packages" }) %]
+[% CGI.checkbox({ Name => 'show_all', Label => "Show all packages",
+Checked => param_defaults.show_all }) %]
 &nbsp;
-[% CGI.checkbox({ Name => 'start_collapsed', Label => "Collapse tables" }) %]
+[% CGI.checkbox({ Name => 'start_collapsed', Label => "Collapse tables",
+Checked => param_defaults.start_collapsed }) %]
 &nbsp;
 [% CGI.checkbox({ Name => 'hide_binaries',
-    Label => "Don't show binary package names" }) %]
+Label => "Don't show binary package names",
+Checked => param_defaults.hide_binaries }) %]
 </p>
 <p>Order: [% CGI.radio_group({
     Name => 'format',
     Values => [ 'list', 'categories' ],
-    Default => 'categories',
+    Default => param_defaults.format,
     Labels => {
          categories => "by category",
          list => "by name",
@@ -283,7 +283,7 @@
 <p>Refresh: [% CGI.radio_group({
     Name => 'refresh',
     Values => [ 0, 1800, 3600, 7200 ],
-    Default => 0,
+    Default => param_defaults.refresh,
     Labels => {
         "0" => "No refresh",
         "1800" => "30 min",
@@ -298,6 +298,7 @@
     "-size" => 6,
     "-labels" => { '' => '--none--' },
     "-multiple" => 'true',
+    "-default" => param_defaults.ignore_keywords,
     ) %]</p>
 <p>[% CGI.submit({ Label => 'Reload' }) %]</p>
 [% CGI.end_form.join("\n") %]




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