diff options
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/rhrd-show | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/utils/rhrd-show b/utils/rhrd-show index 534f467..af5079c 100755 --- a/utils/rhrd-show +++ b/utils/rhrd-show @@ -38,8 +38,8 @@ sub print_usage " multi show handling:\n" . " rhrd-show multi-list\n" . " rhrd-show (multi-show|multi-remove) <multi-show-id>\n" . - " rhrd-show (multi-add) <title> <week>=<show-id> [ <week>=<show-id> [ .. ] ]\n" . - " rhrd-show (multi-add-id|multi-remove-id) <multi-show-id> <show-id> [ <show-id> [ .. ] ]\n"; + " rhrd-show multi-add <title> <week>=<show-id> [ <week>=<show-id> [ .. ] ]\n" . + " rhrd-show multi-edit <multi-show-id> <title> <week>=<show-id> [ <week>=<show-id> [ .. ] ]\n"; } sub list @@ -314,6 +314,7 @@ sub remove return 0; } + sub multi_list { my ($ctx) = @_; @@ -333,7 +334,7 @@ sub multi_list } -sub multi_add__parse_shows +sub multi__parse_shows { my $ctx = shift; @@ -395,10 +396,11 @@ sub multi_add print " * creating multi-show: " . $title . "\n"; - my %shows = %{multi_add__parse_shows($ctx, @_)}; - unless(%shows) { + my $showref = multi__parse_shows($ctx, @_); + unless(defined($showref)) { return 1; } + my %shows = %{$showref}; my ($result, $status, $errorstring) = RHRD::rddb::create_multi_show($ctx, $title, \%shows); unless(defined $result) { @@ -411,6 +413,30 @@ sub multi_add return 0; } +sub multi_edit +{ + my $ctx = shift; + my $showid = shift; + my $title = shift; + + print " * updating multi-show: " . $showid . "\n"; + + my $showref = multi__parse_shows($ctx, @_); + unless(defined($showref)) { + return 1; + } + my %shows = %{$showref}; + + my ($result, $status, $errorstring) = RHRD::rddb::update_multi_show($ctx, $showid, $title, \%shows); + unless(defined $result) { + print STDERR $status . ": " . $errorstring . "\n"; + return 1; + } + + print " * mulit-show '" . $showid . "' successfully changed!\n"; + return 0; +} + sub multi_show { my ($ctx, $showid) = @_; @@ -553,6 +579,17 @@ if(defined $ctx) { $ret = multi_remove($ctx, $ARGV[1]); } } + elsif($cmd eq "multi-edit") { + if($num_args < 4) { + print_usage(); + $ret = 1; + } else { + shift @ARGV; + my $showid = shift @ARGV; + my $title = shift @ARGV; + $ret = multi_edit($ctx, $showid, $title, @ARGV) + } + } else { print_usage(); $ret = 1; |