Make redis-to-postgres also copy problems which are only in a contest
[gruntmaster-data.git] / redis-to-postgres
index 330d5a6e0cee6c140d62fc8b30443089eadc5de9..979f324ea57a6f437e33e94e418e86548056e8e0 100755 (executable)
@@ -52,6 +52,26 @@ for (contests) {
        });
        local $Gruntmaster::OldData::contest = $_;
        for (problems) {
+               eval {
+                       my $meta = problem_meta;
+                       $db->problems->create({
+                               id => $_,
+                               author => problem_author,
+                               generator => problem_generator() // $meta->{generator},
+                               judge => problem_judge() // $meta->{judge},
+                               level => problem_level,
+                               name => problem_name,
+                               olimit => problem_olimit() // $meta->{olimit},
+                               owner => problem_owner,
+                               private => (problem_private() ? 1 : 0),
+                               runner => problem_runner() // $meta->{runner},
+                               statement => problem_statement,
+                               testcnt => problem_testcnt() // $meta->{testcnt},
+                               timeout => problem_timeout() // $meta->{timeout},
+                               (problem_runner() // $meta->{runner}) eq 'File' ? (tests => encode_json $meta->{tests}) : (),
+                               exists $meta->{files} ? (versource => $meta->{files}{ver}{content}, verformat => $meta->{files}{ver}{format}) : ()
+                       })
+               };
                $db->contest_problems->create({
                        contest => $Gruntmaster::OldData::contest,
                        problem => $_,
This page took 0.00967 seconds and 4 git commands to generate.