public-inbox.git  about / heads / tags
an "archives first" approach to mailing lists
blob bccc3321a57be52ff7e5e9c1972319ea1882887a 717 bytes (raw)
$ git show HEAD:lib/PublicInbox/FakeImport.pm	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
# Copyright (C) 2021 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>

# pretend to do PublicInbox::Import::add for "lei index"
package PublicInbox::FakeImport;
use strict;
use v5.10.1;
use PublicInbox::ContentHash qw(git_sha);
use PublicInbox::Import;

sub new { bless { bytes_added => 0 }, __PACKAGE__ }

sub add {
	my ($self, $eml, $check_cb, $smsg) = @_;
	PublicInbox::Import::drop_unwanted_headers($eml);
	$smsg->populate($eml);
	my $raw = $eml->as_string;
	$smsg->{blob} = git_sha(1, \$raw)->hexdigest;
	$smsg->set_bytes($raw, length($raw));
	if (my $oidx = delete $smsg->{-oidx}) { # used by LeiStore
		$oidx->vivify_xvmd($smsg) or return;
	}
	1;
}

1;

git clone https://public-inbox.org/public-inbox.git
git clone http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/public-inbox.git