X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=gruntmaster-job;h=06e3fe14d44edb51f091df1ad96b0a2a839da13e;hb=35596ea828c058c16154e7503e40f57aef8aedfa;hp=7adab69797a5ab43e7d5e9a5b1330d7399406662;hpb=014ee8a614839ded741f61979d979cdd4f20044c;p=gruntmaster-data.git diff --git a/gruntmaster-job b/gruntmaster-job index 7adab69..06e3fe1 100755 --- a/gruntmaster-job +++ b/gruntmaster-job @@ -4,47 +4,53 @@ use v5.14; use Gruntmaster::Data; use IO::Prompter [ -style => 'bold', '-stdio', '-verbatim' ]; -use File::Slurp qw/read_file/; -use Getopt::Long; -use Term::ANSIColor qw/RED RESET/; use POSIX qw/strftime/; ################################################## -my $contest; +my $dsn = $ENV{GRUNTMASTER_DSN} // 'dbi:Pg:'; +my $db = Gruntmaster::Data->connect($dsn); sub cmd_help{ exec perldoc => $0 } -sub cmd_card{ - say jobcard; +sub cmd_show{ + my %columns = $db->job(shift)->get_columns; + $columns{date} = strftime '%c', localtime $columns{date}; + $columns{private} = $columns{private} ? 'yes' : 'no'; + + print <job(shift)->delete +} + +sub cmd_get{ + my ($id, $col) = @_; + say $db->job($id)->get_column($col) +} + +sub cmd_set{ + my ($id, %values) = @_; + $db->job($id)->update(\%values) } sub cmd_rerun{ - local $_ = shift or goto &cmd_list; - clean_job; - $contest//=''; - PUBLISH jobs => "$contest.$_"; + $db->job(shift)->rerun } ################################################## -GetOptions ( 'contest=s' => \$contest ); -local $Gruntmaster::Data::contest = $contest; my $cmd = 'cmd_' . shift; cmd_help unless exists $main::{$cmd}; no strict 'refs'; @@ -61,12 +67,51 @@ gruntmaster-job - shell interface to Gruntmaster 6000 job log =head1 SYNOPSIS - gruntmaster-job card - gruntmaster-job show 5 - gruntmaster-job rerun 7 + gruntmaster-job show id + gruntmaster-job rm id + gruntmaster-job get id key + gruntmaster-job set id key value + gruntmaster-job rerun id =head1 DESCRIPTION +gruntmaster-job is a tool for managing jobs. + +=over + +=item B I + +Prints detailed information about the job with id I. + +=item B I + +Removes the job with id I. + +=item B I I I + +Sets the I configuration option of job I to I. + +=item B I I + +Get the value of the I configuration option of job I. + +=item B I + +Reruns job I. + +=back + +=head1 AUTHOR + +Marius Gavrilescu Emarius@ieval.roE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2014 by Marius Gavrilescu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.18.1 or, +at your option, any later version of Perl 5 you may have available. =cut