]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiInspect.pm
No ext_urls
[public-inbox.git] / lib / PublicInbox / LeiInspect.pm
index 05b6e21d298d66e5723dfe5e7faeb17e4317ffc4..d1dca4ef28d43854858fa7d7a7b17ea41c548f31 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # "lei inspect" general purpose inspector for stuff in SQLite and
@@ -12,10 +12,15 @@ use parent qw(PublicInbox::IPC);
 use PublicInbox::Config;
 use PublicInbox::MID qw(mids);
 use PublicInbox::NetReader qw(imap_uri nntp_uri);
+use POSIX qw(strftime);
+use PublicInbox::LeiOverview;
+*iso8601 = \&PublicInbox::LeiOverview::iso8601;
 
 sub _json_prep ($) {
        my ($smsg) = @_;
        $smsg->{$_} += 0 for qw(bytes lines); # integerize
+       $smsg->{dt} = iso8601($smsg->{ds}) if defined($smsg->{ds});
+       $smsg->{rt} = iso8601($smsg->{ts}) if defined($smsg->{ts});
        +{ %$smsg } # unbless and scalarize
 }
 
@@ -230,7 +235,8 @@ sub inspect_argv { # via wq_do
        $lei->{1}->autoflush(0);
        $lei->out('[') if $multi;
        while (defined(my $x = shift @$argv)) {
-               inspect1($lei, $x, scalar(@$argv)) or return;
+               eval { inspect1($lei, $x, scalar(@$argv)) or return };
+               warn "E: $@\n" if $@;
        }
        $lei->out(']') if $multi;
 }
@@ -289,4 +295,10 @@ sub _complete_inspect {
        # TODO: message-ids?, blobs? could get expensive...
 }
 
+sub ipc_atfork_child {
+       my ($self) = @_;
+       $self->{lei}->_lei_atfork_child;
+       $self->SUPER::ipc_atfork_child;
+}
+
 1;