Author: rob
Date: Tue Jan 4 12:50:59 2011
New Revision: 25379
URL: https://svn.nixos.org/websvn/nix/?rev=25379&sc=1
Log:
hydra: put contents links into html, add links to files from contents page
Modified:
hydra/trunk/src/lib/Hydra/Controller/Build.pm
hydra/trunk/src/lib/Hydra/Controller/Root.pm
hydra/trunk/src/lib/Hydra/Helper/CatalystUtils.pm
Modified: hydra/trunk/src/lib/Hydra/Controller/Build.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Controller/Build.pm Tue Jan 4 12:35:06
2011 (r25378)
+++ hydra/trunk/src/lib/Hydra/Controller/Build.pm Tue Jan 4 12:50:59
2011 (r25379)
@@ -204,7 +204,6 @@
$c->res->redirect(defaultUriForProduct($self, $c, $product, @path));
}
-
sub contents : Chained('build') PathPart Args(1) {
my ($self, $c, $productnr) = @_;
@@ -220,6 +219,10 @@
if ($product->type eq "nix-build" && -d $path) {
$res = `cd $path && find . -print0 | xargs -0 ls -ld --`;
error($c, "`ls -lR' error: $?") if $? != 0;
+
+ my $baseuri = $c->uri_for('/build', $c->stash->{build}->id,
'download', $product->productnr);
+ $baseuri .= "/".$product->name if $product->name;
+ $res =~ s/(\.\/)($relPathRE)/<a href="$baseuri\/$2">$1$2<\/a>/g;
}
elsif ($path =~ /\.rpm$/) {
@@ -259,8 +262,9 @@
die unless $res;
- $c->stash->{'plain'} = { data => $res };
- $c->forward('Hydra::View::Plain');
+ $c->stash->{title} = "Contents of ".$product->path;
+ $c->stash->{contents} = "<pre>$res</pre>";
+ $c->stash->{template} = 'plain.tt';
}
Modified: hydra/trunk/src/lib/Hydra/Controller/Root.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Controller/Root.pm Tue Jan 4 12:35:06
2011 (r25378)
+++ hydra/trunk/src/lib/Hydra/Controller/Root.pm Tue Jan 4 12:50:59
2011 (r25379)
@@ -145,6 +145,7 @@
, uri_for('Build', 'view_nixlog', ["*"], "*")
, uri_for('Build', 'view_log', ["*"], "*")
, uri_for('Build', 'view_log', ["*"])
+ , uri_for('Build', 'download', ["*"], "*")
, uri_for('Root', 'nar', [], "*")
, uri_for('Root', 'status', [])
, uri_for('Root', 'all', [])
Modified: hydra/trunk/src/lib/Hydra/Helper/CatalystUtils.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Helper/CatalystUtils.pm Tue Jan 4 12:35:06
2011 (r25378)
+++ hydra/trunk/src/lib/Hydra/Helper/CatalystUtils.pm Tue Jan 4 12:50:59
2011 (r25379)
@@ -206,7 +206,7 @@
# Security checking of filenames.
-Readonly::Scalar our $pathCompRE => "(?:[A-Za-z0-9-\+][A-Za-z0-9-\+\._]*)";
+Readonly::Scalar our $pathCompRE => "(?:[A-Za-z0-9-\+\.][A-Za-z0-9-\+\._]*)";
Readonly::Scalar our $relPathRE => "(?:$pathCompRE(?:/$pathCompRE)*)";
Readonly::Scalar our $relNameRE => "(?:[A-Za-z0-9-][A-Za-z0-9-\.]*)";
Readonly::Scalar our $attrNameRE => "(?:[A-Za-z_][A-Za-z0-9_]*)";
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits