4 use Gruntmaster
::OldData
;
6 use JSON qw
/encode_json/;
8 my $db = Gruntmaster
::Data
->connect('dbi:Pg:');
17 university
=> user_university
,
19 user_lastjob
() ?
(lastjob
=> user_lastjob
) : ()
26 my $meta = problem_meta
;
27 $db->problems->create({
29 author
=> problem_author
,
30 generator
=> problem_generator
() // $meta->{generator
},
31 judge
=> problem_judge
() // $meta->{judge
},
32 level
=> problem_level
,
34 olimit
=> problem_olimit
() // $meta->{olimit
},
35 owner
=> problem_owner
,
36 private
=> (problem_private
() ?
1 : 0),
37 runner
=> problem_runner
() // $meta->{runner
},
38 statement
=> problem_statement
,
39 testcnt
=> problem_testcnt
() // $meta->{testcnt
},
40 timeout
=> problem_timeout
() // $meta->{timeout
},
41 (problem_runner
() // $meta->{runner
}) eq 'File' ?
(tests
=> encode_json
$meta->{tests
}) : (),
42 exists $meta->{files
} ?
(versource
=> $meta->{files
}{ver
}{content
}, verformat
=> $meta->{files
}{ver
}{format
}) : ()
47 $db->contests->create({
50 start
=> contest_start
,
52 owner
=> contest_owner
,
54 local $Gruntmaster::OldData
::contest
= $_;
57 my $meta = problem_meta
;
58 $db->problems->create({
60 author
=> problem_author
,
61 generator
=> problem_generator
() // $meta->{generator
},
62 judge
=> problem_judge
() // $meta->{judge
},
63 level
=> problem_level
,
65 olimit
=> problem_olimit
() // $meta->{olimit
},
66 owner
=> problem_owner
,
67 private
=> (problem_private
() ?
1 : 0),
68 runner
=> problem_runner
() // $meta->{runner
},
69 statement
=> problem_statement
,
70 testcnt
=> problem_testcnt
() // $meta->{testcnt
},
71 timeout
=> problem_timeout
() // $meta->{timeout
},
72 (problem_runner
() // $meta->{runner
}) eq 'File' ?
(tests
=> encode_json
$meta->{tests
}) : (),
73 exists $meta->{files
} ?
(versource
=> $meta->{files
}{ver
}{content
}, verformat
=> $meta->{files
}{ver
}{format
}) : ()
76 $db->contest_problems->create({
77 contest
=> $Gruntmaster::OldData
::contest
,
83 my $meta = job_inmeta
;
85 contest
=> $Gruntmaster::OldData
::contest
,
88 defined job_errors
() ?
(errors
=> job_errors
) : (),
89 extension
=> job_extension
,
90 format
=> $meta->{files
}{prog
}{format
},
91 job_private
() ?
(private
=> job_private
) : (),
92 problem
=> job_problem
,
94 result_text
=> job_result_text
,
95 results
=> encode_json job_results
,
96 source
=> $meta->{files
}{prog
}{content
},
105 my $meta = job_inmeta
;
107 daemon
=> job_daemon
,
109 defined job_errors
() ?
(errors
=> job_errors
) : (),
110 extension
=> job_extension
,
111 format
=> $meta->{files
}{prog
}{format
},
112 job_private
() ?
(private
=> job_private
) : (),
113 problem
=> job_problem
,
114 result
=> job_result
,
115 result_text
=> job_result_text
,
116 results
=> encode_json job_results
,
117 source
=> $meta->{files
}{prog
}{content
},
123 @jobs = map { $_->{owner
} = $_->{owner
} eq 'S7012MY' ?
'Petru' : $_->{owner
}; $_} @jobs;
124 $db->jobs->create($_) for sort {$a->{date
} <=> $b->{date
}} @jobs;
This page took 0.027098 seconds and 4 git commands to generate.