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 }) %]
-[% CGI.checkbox({ Name => 'start_collapsed', Label => "Collapse tables" }) %]
+[% CGI.checkbox({ Name => 'start_collapsed', Label => "Collapse tables",
+Checked => param_defaults.start_collapsed }) %]
[% 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