From 455a1c0ef0519b2048c34d2fb31c9e9adbe3f507 Mon Sep 17 00:00:00 2001 From: "Eric Wong (Contractor, The Linux Foundation)" Date: Sun, 9 Jun 2019 02:51:44 +0000 Subject: AdminEdit: move editability checks from -purge We'll be reusing the same logic for -edit --- script/public-inbox-purge | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) (limited to 'script/public-inbox-purge') diff --git a/script/public-inbox-purge b/script/public-inbox-purge index dc7f89d9..846557ca 100755 --- a/script/public-inbox-purge +++ b/script/public-inbox-purge @@ -21,40 +21,7 @@ GetOptions($opt, @PublicInbox::AdminEdit::OPT) or die "bad command-line args\n$usage\n"; my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt); - -foreach my $ibx (@ibxs) { - my $lvl = $ibx->{indexlevel}; - if (defined $lvl) { - PublicInbox::Admin::indexlevel_ok_or_die($lvl); - next; - } - - # Undefined indexlevel, so `full'... - # Search::Xapian exists and the DB can be read, at least, fine - $ibx->search and next; - - # it's possible for a Xapian directory to exist, but Search::Xapian - # to go missing/broken. Make sure it's purged in that case: - $ibx->over or die "no over.sqlite3 in $ibx->{mainrepo}\n"; - - # $ibx->{search} is populated by $ibx->over call - my $xdir_ro = $ibx->{search}->xdir(1); - my $npart = 0; - foreach my $part (<$xdir_ro/*>) { - if (-d $part && $part =~ m!/[0-9]+\z!) { - my $bytes = 0; - $bytes += -s $_ foreach glob("$part/*"); - $npart++ if $bytes; - } - } - if ($npart) { - PublicInbox::Admin::require_or_die('-search'); - } else { - # somebody could "rm -r" all the Xapian directories; - # let them purge the overview, at least - $ibx->{indexlevel} ||= 'basic'; - } -} +PublicInbox::AdminEdit::check_editable(\@ibxs); my $data = do { local $/; scalar }; $data =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s; -- cgit v1.2.3-24-ge0c7