+++ /dev/null
-#!/usr/bin/perl -w
-use v5.14;
-use Gruntmaster::Data;
-use Gruntmaster::OldData;
-
-use JSON qw/encode_json/;
-
-my $db = Gruntmaster::Data->connect('dbi:Pg:');
-
-for (users) {
- $db->users->create({
- id => $_,
- name => user_name,
- email => user_email,
- phone => user_phone,
- town => user_town,
- university => user_university,
- level => user_level,
- user_lastjob() ? (lastjob => user_lastjob) : ()
- })
-}
-
-my @jobs;
-
-for (problems) {
- 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}) : ()
- })
-}
-
-for (contests) {
- $db->contests->create({
- id => $_,
- name => contest_name,
- start => contest_start,
- stop => contest_end,
- owner => contest_owner,
- });
- 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 => $_,
- });
- }
- for (1 .. jobcard) {
- eval {
- my $meta = job_inmeta;
- push @jobs, {
- contest => $Gruntmaster::OldData::contest,
- daemon => job_daemon,
- date => job_date,
- defined job_errors() ? (errors => job_errors) : (),
- extension => job_extension,
- format => $meta->{files}{prog}{format},
- job_private() ? (private => job_private) : (),
- problem => job_problem,
- result => job_result,
- result_text => job_result_text,
- results => encode_json job_results,
- source => $meta->{files}{prog}{content},
- owner => job_user,
- };
- }
- }
-}
-
-for (1 .. jobcard) {
- eval{
- my $meta = job_inmeta;
- push @jobs, {
- daemon => job_daemon,
- date => job_date,
- defined job_errors() ? (errors => job_errors) : (),
- extension => job_extension,
- format => $meta->{files}{prog}{format},
- job_private() ? (private => job_private) : (),
- problem => job_problem,
- result => job_result,
- result_text => job_result_text,
- results => encode_json job_results,
- source => $meta->{files}{prog}{content},
- owner => job_user,
- };
- }
-}
-
-@jobs = map { $_->{owner} = $_->{owner} eq 'S7012MY' ? 'Petru' : $_->{owner}; $_} @jobs;
-$db->jobs->create($_) for sort {$a->{date} <=> $b->{date}} @jobs;