]> iEval git - gruntmaster-page.git/blobdiff - lib/Gruntmaster/Page.pm
Fix file submit
[gruntmaster-page.git] / lib / Gruntmaster / Page.pm
index 451ed8e3a0a2efbe979f7f510471d56f867500ed..e57b0402495cb9e13306bea0448a798c8458ecf1 100644 (file)
@@ -31,14 +31,11 @@ sub declaregen{
 {
        my $component = qr'[^/]+';
        my $contest = qr,(?:ct/$component/)?,;
-       declaregen Index                        => qr,^index$,;
-       declaregen Learn                        => qr,^learn$,;
-       declaregen Account                      => qr,^account$,;
        declaregen Us                           => qr,^us/index$,;
        declaregen 'Us::Entry'          => qr,^us/$component$,;
        declaregen Ct                           => qr,^ct/index$,;
        declaregen 'Ct::Entry'          => qr,^ct/$component/index$,;
-       declaregen St                           => qr,^ct/$component/log/st$,;
+       declaregen St                           => qr,^${contest}log/st$,;
        declaregen Log                          => qr,^${contest}log/(?:\d+|index)$,;
        declaregen 'Log::Entry' => qr,^${contest}log/job/$component$,;
        declaregen Submit                       => qr,^${contest}submit$,;
@@ -93,10 +90,13 @@ sub generate{
 }
 
 sub gensrc{
-       my ($job) = @_;
+       my ($contest, $job) = split /\./, $_[0];
+       local $Gruntmaster::Data::contest = $contest if $contest;
        my $ext = job_extension $job;
-       make_path "log/src/";
-       write_file "log/src/$job.$ext", job_inmeta($job)->{files}{prog}{content};
+       my $log = $contest ? "ct/$contest/log" : 'log';
+       make_path "$log/src/";
+       say STDERR "Writing to $log/src/$job.$ext";
+       write_file "$log/src/$job.$ext", job_inmeta($job)->{files}{prog}{content};
 }
 
 1;
This page took 0.025325 seconds and 4 git commands to generate.