diff options
Diffstat (limited to 'lib/PublicInbox/LeiAddWatch.pm')
-rw-r--r-- | lib/PublicInbox/LeiAddWatch.pm | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/PublicInbox/LeiAddWatch.pm b/lib/PublicInbox/LeiAddWatch.pm index 671d54f9..e2be5cee 100644 --- a/lib/PublicInbox/LeiAddWatch.pm +++ b/lib/PublicInbox/LeiAddWatch.pm @@ -15,25 +15,26 @@ sub lei_add_watch { my $state = $lei->{opt}->{'state'} // 'import-rw'; $lei->watch_state_ok($state) or return $lei->fail("invalid state: $state"); - my $vmd_mod = $self->vmd_mod_extract(\@argv); - return $lei->fail(join("\n", @{$vmd_mod->{err}})) if $vmd_mod->{err}; $self->prepare_inputs($lei, \@argv) or return; my @vmd; - while (my ($type, $vals) = each %$vmd_mod) { + while (my ($type, $vals) = each %{$lei->{vmd_mod}}) { push @vmd, "$type:$_" for @$vals; } my $vmd0 = shift @vmd; for my $w (@{$self->{inputs}}) { # clobber existing, allow multiple if (defined($vmd0)) { - $lei->_config("watch.$w.vmd", '--replace-all', $vmd0); + $lei->_config("watch.$w.vmd", '--replace-all', $vmd0) + or return; for my $v (@vmd) { - $lei->_config("watch.$w.vmd", $v); + $lei->_config("watch.$w.vmd", $v) or return; } } next if defined $cfg->{"watch.$w.state"}; - $lei->_config("watch.$w.state", $state); + $lei->_config("watch.$w.state", $state) or return; } + $lei->_lei_store(1); # create + $lei->lms(1)->lms_write_prepare->add_folders(@{$self->{inputs}}); delete $lei->{cfg}; # force reload $lei->refresh_watches; } |