]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Inbox.pm
git: move cloneurl + description reading here
[public-inbox.git] / lib / PublicInbox / Inbox.pm
index 1f7f982da783fee8e847e98294828ace331832ab..3532bb584236d4d466d12c234e338867699b5936 100644 (file)
@@ -181,33 +181,18 @@ sub over {
        } // ($req ? croak("E: $@") : undef);
 }
 
-sub try_cat {
-       my ($path) = @_;
-       open(my $fh, '<', $path) or return '';
-       local $/;
-       <$fh> // '';
-}
-
-sub cat_desc ($) {
-       my $desc = try_cat($_[0]);
-       local $/ = "\n";
-       chomp $desc;
-       utf8::decode($desc);
-       $desc =~ s/\s+/ /smg;
-       $desc eq '' ? undef : $desc;
-}
-
 sub description {
        my ($self) = @_;
-       ($self->{description} //= cat_desc("$self->{inboxdir}/description")) //
+       ($self->{description} //=
+               PublicInbox::Git::cat_desc("$self->{inboxdir}/description")) //
                '($INBOX_DIR/description missing)';
 }
 
 sub cloneurl {
        my ($self) = @_;
        $self->{cloneurl} // do {
-               my $s = try_cat("$self->{inboxdir}/cloneurl");
-               my @urls = split(/\s+/s, $s);
+               my @urls = split(/\s+/s,
+                 PublicInbox::Git::try_cat("$self->{inboxdir}/cloneurl"));
                scalar(@urls) ? ($self->{cloneurl} = \@urls) : undef;
        } // [];
 }
@@ -351,11 +336,6 @@ sub msg_by_mid ($$) {
        $smsg ? msg_by_smsg($self, $smsg) : msg_by_path($self, mid2path($mid));
 }
 
-sub recent {
-       my ($self, $opts, $after, $before) = @_;
-       $self->over->recent($opts, $after, $before);
-}
-
 sub modified {
        my ($self) = @_;
        if (my $over = $self->over) {
@@ -431,4 +411,6 @@ sub mailboxid { # rfc 8474, 8620, 8621
                sprintf('-%x', uidvalidity($self) // 0)
 }
 
+sub thing_type { 'public inbox' }
+
 1;