X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=redis-to-postgres;h=979f324ea57a6f437e33e94e418e86548056e8e0;hb=20fa6cfca71c44400d5f7ec237c3e56ea83e90a3;hp=5ed15759c70594bffcec9ee8b7074f52d3aa6950;hpb=4ed3f8e7c64594bb4ea26abb1c4fb51a5a8258d6;p=gruntmaster-data.git diff --git a/redis-to-postgres b/redis-to-postgres index 5ed1575..979f324 100755 --- a/redis-to-postgres +++ b/redis-to-postgres @@ -37,6 +37,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 +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 => $_,