From: Vsevolod Stakhov Date: Tue, 13 Mar 2018 16:15:01 +0000 (+0000) Subject: [Fix] Fix processing of a single compressed file X-Git-Tag: 1.7.1~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dad6f34f2855ac223f50d5b1db4899088b953a34;p=thirdparty%2Frspamd.git [Fix] Fix processing of a single compressed file --- diff --git a/utils/rspamd_stats.pl b/utils/rspamd_stats.pl index 822985ed94..ae7ce2115c 100755 --- a/utils/rspamd_stats.pl +++ b/utils/rspamd_stats.pl @@ -112,9 +112,11 @@ elsif ( -d "$log_file" ) { open( $rspamd_log, "-|", "$dc $log_dir/$_" ) or die "cannot execute $dc $log_dir/$_ : $!"; - printf "\033[J Parsing log files: [%d/%d] %s\033[G", $log_file_num++, scalar @logs, $_; - $spinner_update_time = 0; # Force spinner update - &spinner; + if (!$json) { + printf "\033[J Parsing log files: [%d/%d] %s\033[G", $log_file_num++, scalar @logs, $_; + $spinner_update_time = 0; # Force spinner update + &spinner; + } &ProcessLog; @@ -123,7 +125,12 @@ elsif ( -d "$log_file" ) { } } else { - open($rspamd_log, '<', $log_file) or die "cannot open $log_file"; + my $ext = ($log_file =~ /[^.]+\.?([^.]*?)$/)[0]; + my $dc = $decompressor{$ext} || 'cat'; + open( $rspamd_log, "-|", "$dc $log_file" ) + or die "cannot execute $dc $log_file : $!"; + $spinner_update_time = 0; # Force spinner update + &spinner; &ProcessLog(); }