]>
iEval git - gruntmaster-data.git/blob - gruntmaster-contest
c6d1db80325b289833d85494263df678c4f65065
6 use IO
::Prompter
[ -style
=> 'bold', '-stdio', '-verbatim' ];
7 use POSIX qw
/strftime/;
8 use Date
::Parse qw
/str2time/;
10 ##################################################
12 my $dsn = $ENV{GRUNTMASTER_DSN
} // 'dbi:Pg:';
13 my $db = Gruntmaster
::Data
->connect($dsn);
21 say map { $_->id } $db->contests->all;
25 my %columns = $db->contest(shift)->get_columns;
26 $columns{$_} = strftime
'%c', localtime $columns{$_} for qw
/start stop/;
29 Owner: $columns{owner}
30 Start: $columns{start}
37 my $name = prompt
'Contest name';
38 my $owner = prompt
'Owner';
39 my $start = str2time prompt
'Start time' or die 'Cannot parse time';
40 my $stop = str2time prompt
'Stop time' or die 'Cannot parse time';
42 $db->contests->create({id
=> $id, name
=> $name, owner
=> $owner, start
=> $start, stop
=> $stop});
47 $db->contest(shift)->delete;
52 say $db->contest($id)->get_column($col)
56 my ($id, %values) = @_;
57 $db->contest($id)->update(\
%values);
60 ##################################################
63 my $cmd = 'cmd_' . shift;
64 cmd_help
unless exists $main::{$cmd};
65 $cmd->(@ARGV) if exists $main::{$cmd};
74 gruntmaster-contest - shell interface to Gruntmaster 6000 contests
78 gruntmaster-contest list
79 gruntmaster-contest show id
80 gruntmaster-contest add id
81 gruntmaster-contest rm id
82 gruntmaster-contest get id key
83 gruntmaster-contest set id key value
87 gruntmaster-contest is a tool for managing contests.
93 Prints the list of contests.
97 Prints detailed information about the contest with id I<id>.
101 Adds a new contest with id I<id>.
105 Removes the contest with id I<id>.
107 =item B<set> I<id> I<key> I<value>
109 Sets the I<key> configuration option of contest I<id> to I<value>.
111 =item B<get> I<id> I<key>
113 Get the value of the I<key> configuration option of contest I<id>.
119 Marius Gavrilescu E<lt>marius@ieval.roE<gt>
121 =head1 COPYRIGHT AND LICENSE
123 Copyright (C) 2014 by Marius Gavrilescu
125 This library is free software; you can redistribute it and/or modify
126 it under the same terms as Perl itself, either Perl version 5.18.1 or,
127 at your option, any later version of Perl 5 you may have available.
This page took 0.057694 seconds and 3 git commands to generate.