blob: f0146cfb11276632362ebe82d667386ec10884d5 [file] [log] [blame]
Akronf80da9a2021-02-23 12:12:13 +01001#!/usr/bin/env perl
2use Mojo::Base -strict;
3use Mojo::File qw'path';
4
5our @ARGV;
6my ($unable, $unable_substring, $unable_offsets) = (0,0,0);
7
8my $file = path($ARGV[0]);
9my $out_fh = path($file->dirname)->child(
10 $file->basename('.log') . '-slim.log'
11)->open('>');
12
13my $fh = $file->open('<');
14
15# Iterate over file
16while (!eof($fh)){
17 local $_ = <$fh>;
18
19 if ($_ =~ qr!(?: Processed)! && $_ !~ qr!:1\/!) {
20 next;
21 };
22
23 if ($_ =~ qr! Unable to process !) {
24 $unable++;
25 next;
26 }
27 elsif ($_ =~ qr! Tokenization with failing offsets !) {
28 $unable_offsets++;
29 next;
30 }
31 elsif ($_ =~ qr! Unable to find substring !) {
32 $unable_substring++;
33 next;
34 }
35 elsif ($_ =~ qr!^Done\.$!) {
36 my $str = 'Done.';
37 $str .= ' [!Process: ' . $unable . ']' if $unable;
38 $str .= ' [!Offstes: ' . $unable_offsets . ']' if $unable_offsets;
39 $str .= ' [!Substring: ' . $unable_substring . ']' if $unable_substring;
40 $unable = 0;
41 $unable_substring = 0;
42 $unable_offsets = 0;
43 print $out_fh "## $str\n";
44 next;
45 };
46
47 if ($_ =~ qr! Unable to (?:process|find substring) !) {
48 next;
49 }
50 elsif ($_ =~ qr!substr outside of string!) {
51 next;
52 }
53 elsif ($_ =~ qr!with failing offsets!) {
54 next;
55 }
56 elsif ($_ =~ qr! in \/opt\/korap!) {
57 next;
58 };
59
60 print $out_fh $_;
61};
62
63$out_fh->close;
64$fh->close;
65
66__END__
67
68=pod
69
70 $ slim_korapxml2krill mylog.log
71
72=cut