diff options
author | Eric Wong <e@80x24.org> | 2019-10-28 10:45:24 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-10-30 08:48:19 +0000 |
commit | 6c559dae69e244895fd7e6c5a9ae29f58d03058e (patch) | |
tree | fa363befdf4663a7034a422a3881e282a1abc295 /lib | |
parent | 1d9317540bc3fea86dcd512bb54275324ed1b0fa (diff) | |
download | public-inbox-6c559dae69e244895fd7e6c5a9ae29f58d03058e.tar.gz |
And use it for mda, since "0" could be a usable directory if somebody insists on using relative paths...
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/InboxWritable.pm | 9 | ||||
-rw-r--r-- | lib/PublicInbox/V2Writable.pm | 5 |
2 files changed, 10 insertions, 4 deletions
diff --git a/lib/PublicInbox/InboxWritable.pm b/lib/PublicInbox/InboxWritable.pm index ab7b0ed5..9eab394d 100644 --- a/lib/PublicInbox/InboxWritable.pm +++ b/lib/PublicInbox/InboxWritable.pm @@ -30,12 +30,19 @@ sub new { $self; } +sub assert_usable_dir { + my ($self) = @_; + my $dir = $self->{inboxdir}; + return $dir if defined($dir) && $dir ne ''; + die "no inboxdir defined for $self->{name}\n"; +} + sub init_inbox { my ($self, $shards, $skip_epoch, $skip_artnum) = @_; # TODO: honor skip_artnum my $v = $self->{version} || 1; if ($v == 1) { - my $dir = $self->{inboxdir} or die "no inboxdir in inbox\n"; + my $dir = assert_usable_dir($self); PublicInbox::Import::init_bare($dir); } else { my $v2w = importer($self); diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index ad2e8e62..1825da2c 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -77,7 +77,8 @@ sub new { # $creat may be any true value, or 0/undef. A hashref is true, # and $creat->{nproc} may be set to an integer my ($class, $v2ibx, $creat) = @_; - my $dir = $v2ibx->{inboxdir} or die "no inboxdir in inbox\n"; + $v2ibx = PublicInbox::InboxWritable->new($v2ibx); + my $dir = $v2ibx->assert_usable_dir; unless (-d $dir) { if ($creat) { require File::Path; @@ -86,8 +87,6 @@ sub new { die "$dir does not exist\n"; } } - - $v2ibx = PublicInbox::InboxWritable->new($v2ibx); $v2ibx->umask_prepare; my $xpfx = "$dir/xap" . PublicInbox::Search::SCHEMA_VERSION; |