about summary refs log tree commit homepage
path: root/lib/PublicInbox/LeiExportKw.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/LeiExportKw.pm')
-rw-r--r--lib/PublicInbox/LeiExportKw.pm32
1 files changed, 2 insertions, 30 deletions
diff --git a/lib/PublicInbox/LeiExportKw.pm b/lib/PublicInbox/LeiExportKw.pm
index f8579221..671a84df 100644
--- a/lib/PublicInbox/LeiExportKw.pm
+++ b/lib/PublicInbox/LeiExportKw.pm
@@ -94,36 +94,8 @@ EOM
 lei mail_sync uninitialized, see lei-import(1)
 EOM
         my $opt = $lei->{opt};
-        my $all = $opt->{all};
-        if (defined $all) { # --all=<local|remote>
-                my %x = map { $_ => $_ } split(/,/, $all);
-                my @ok = grep(defined, delete(@x{qw(local remote), ''}));
-                my @no = keys %x;
-                if (@no) {
-                        @no = (join(',', @no));
-                        return $lei->fail(<<EOM);
---all=@no not accepted (must be `local' and/or `remote')
-EOM
-                }
-                my (%seen, @inc);
-                my @all = $lms->folders;
-                for my $ok (@ok) {
-                        if ($ok eq 'local') {
-                                @inc = grep(!m!\A[a-z0-9\+]+://!i, @all);
-                        } elsif ($ok eq 'remote') {
-                                @inc = grep(m!\A[a-z0-9\+]+://!i, @all);
-                        } elsif ($ok ne '') {
-                                return $lei->fail("--all=$all not understood");
-                        } else {
-                                @inc = @all;
-                        }
-                        for (@inc) {
-                                push(@folders, $_) unless $seen{$_}++;
-                        }
-                }
-                return $lei->fail(<<EOM) if !@folders;
-no --mail-sync folders known to lei
-EOM
+        if (defined(my $all = $opt->{all})) { # --all=<local|remote>
+                $lms->group2folders($lei, $all, \@folders) or return;
         } else {
                 my $err = $lms->arg2folder($lei, \@folders);
                 $lei->qerr(@{$err->{qerr}}) if $err->{qerr};