]> iEval git - gruntmaster-data.git/blobdiff - redis-to-postgres
Fix gruntmaster-contest
[gruntmaster-data.git] / redis-to-postgres
index 5ed15759c70594bffcec9ee8b7074f52d3aa6950..e744c05f4a430c9c3744098fc6dd404d7e7b8e1d 100755 (executable)
@@ -12,6 +12,7 @@ for (users) {
                id => $_,
                name => user_name,
                email => user_email,
+               phone => user_phone,
                town => user_town,
                university => user_university,
                level => user_level,
@@ -37,6 +38,7 @@ for (problems) {
                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}) : ()
        })
 }
@@ -51,6 +53,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.019046 seconds and 4 git commands to generate.