Ich gaube, das war der github dump. Das skript (perl Hack) zum Parsen des contents ist etwa so (s. u.)
Im Wesentlichen ist das ein kleiner Parser, um das Format des Dumps zu zerlegen.
open INFILE, "<:encoding(UTF-8)", 'content.txt' || die;
#open INFILE, 'content.txt' || die;
my $line_no = 0;
my $line = <INFILE>;
my $rec = {};
sub getline {
$line_no++;
$line = <INFILE>;
$line =~ s/ä/ae/g;
$line =~ s/ö/oe/g;
$line =~ s/ü/üe/g;
$line =~ s/Ä/Ae/g;
$line =~ s/Ö/Oe/g;
$line =~ s/Ü/Ue/g;
$line =~ s/ß/sz/g;
return $line;
}
my $skip = {
3649 => 1,
22919 => 1,
22962 => 1,
23124 => 1,
23176 => 1
};
sub end_of_rec {
if ( $skip->{$line_no} ) {
printf( "break;" );
return;
}
printf("no = %d\n", $line_no);
# printf("cat = %s\n", $rec->{fd_category});
# printf("title= %s\n", $rec->{fd_title});
# printf("user = %s\n", $rec->{fd_user});
# ACHTUNG: Hier anpassen, um die eigene DB zu schreiben!!!!
if ($rec->{fd_user}) {
my $result = $frame->db_run(
'yacy',
$frame->{yacy}{'insert'},
$rec
);
}
}
while ($line) {
my $done = 0;
if ($line =~ /^\-\-\-/) {
end_of_rec($rec);
$rec = {};
getline();
chop $line;
# $line =~ /^([a-zA-Z1-9\-\,\:\s\'\\]+) \W ([a-zA-Z1-9\-\,\:\s\'\\]+)/;
my @parts = split(/\|#\|/, $line);
$rec->{fd_category} = $parts[0];
$rec->{fd_title} = $parts[1];
getline();
getline();
$line =~ /Date: ((\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d))/;
$rec->{fd_created} = $1;
while (!$done) {
getline();
if($line =~ /Statistik: Verfasst von \{(.+)\}/) {
$rec->{fd_user} = $1;
$done = 1;
} else {
$rec->{fd_content} .= $line;
}
}
}
if (!getline()) {
$done = 1;
}
}