]> iEval git - gruntmaster-page.git/blobdiff - lib/Plack/App/Gruntmaster.pm
Add non-interactive score and countdown on pb_entry
[gruntmaster-page.git] / lib / Plack / App / Gruntmaster.pm
index 3c26ecfd0cbd69a9151fdb0ece3037eb60193be6..4dd497f742c966d5ac164f67cd65dfab89ec950b 100644 (file)
@@ -28,6 +28,8 @@ use constant CONTENT_TYPES => +{
        c => 'text/x-csrc',
        cpp => 'text/x-c++src',
        cs => 'text/x-csharp', # Used by GNOME. Not in mime.types.
+       go => 'text/plain', # ?
+       hs => 'text/x-haskell',
        java => 'text/x-java',
        pas => 'text/x-pascal',
        pl => 'text/x-perl',
@@ -37,6 +39,9 @@ use constant CONTENT_TYPES => +{
 use constant FORMAT_EXTENSION => {
        C => 'c',
        CPP => 'cpp',
+       GCCGO => 'go',
+       GOLANG => 'go',
+       HASKELL => 'hs',
        MONO => 'cs',
        JAVA => 'java',
        PASCAL => 'pas',
@@ -71,6 +76,7 @@ sub response {
                $params = $title;
                $title = 'No title';
        }
+       $params->{time} = time;
        bless {template => $template, title => $title, params => $params}, __PACKAGE__.'::Response'
 }
 
@@ -148,7 +154,9 @@ sub dispatch_request{
                sub (/us/:user)    { response us_entry => user->name, db->user_entry($_{user}) },
                sub (/ct/:contest) { response ct_entry => contest->name, db->contest_entry($_{contest}) },
                sub (/log/:job)    { response log_entry => "Job  $_{job}", db->job_entry($_{job}) },
-               sub (/pb/:problem + ?:contest~) {
+               sub (/pb/:problem + ?contest~) {
+                       my (undef, undef, $contest) = @_;
+                       $_{contest} = $contest;
                        return NOT_FOUND if !contest && !problem->is_in_archive || contest && !db->contest_problems->find($_{contest}, $_{problem});
                        forbid problem->is_private;
                        response pb_entry => problem->name, db->problem_entry($_{problem}, $_{contest}, remote_user && remote_user->id);
This page took 0.024534 seconds and 4 git commands to generate.