X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=gruntmaster-problem;h=819b7ef0a4c3f97ed91f282fc92d35f2ef244890;hb=78c794d653161038dd4ef5986d7c7a5b96baff82;hp=fa1403e71c3692a7900566a63e78b5eca50f9c39;hpb=6544497ee80ec3ca081a8c8161f2e8f4b92a5ed6;p=gruntmaster-data.git diff --git a/gruntmaster-problem b/gruntmaster-problem index fa1403e..819b7ef 100755 --- a/gruntmaster-problem +++ b/gruntmaster-problem @@ -9,6 +9,13 @@ use JSON qw/encode_json/; use Term::ANSIColor qw/RED RESET/; use Getopt::Long qw/:config require_order/; +use constant LEVEL_VALUES => { + beginner => 100, + easy => 250, + medium => 500, + hard => 1000, +}; + ################################################## my $dsn = $ENV{GRUNTMASTER_DSN} // 'dbi:Pg:'; @@ -27,6 +34,7 @@ sub cmd_add{ my $writer = prompt 'Problem statement writer (full name)'; my $owner = prompt 'Problem owner (username)'; my $level = prompt 'Problem level', -menu => "beginner\neasy\nmedium\nhard"; + my $value = LEVEL_VALUES->{$level}; my $statement = read_file prompt 'File with problem statement', -complete => 'filenames'; my $generator = prompt 'Generator', -menu => "File\nRun\nUndef"; my $runner = prompt 'Runner', -menu => "File\nVerifier\nInteractive"; @@ -59,6 +67,7 @@ sub cmd_add{ id => $id, name => $name, level => $level, + value => $value, statement => $statement, author => $author, writer => $writer, @@ -84,9 +93,9 @@ sub cmd_add{ sub cmd_set{ my $file; GetOptions ( 'file!' => \$file ); - my ($id, %values) = @_; + my ($id, %values) = @ARGV; %values = map { $_ => scalar read_file $values{$_} } keys %values if $file; - $db->problem($id)->update(\%values) + $db->problem($id)->update(\%values); } sub cmd_get{ @@ -100,7 +109,8 @@ sub cmd_list{ } sub cmd_rm{ - $db->problem(shift)->delete + my ($id) = @_; + $db->problem($id)->delete; } sub cmd_show{