From: Uli Martens Date: Wed, 28 Mar 2012 09:22:12 +0000 (+0200) Subject: handle compressed files transparently X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=0873d6309f8352ffd4331ec373b10dc737b4dfb3;p=dak.git handle compressed files transparently --- diff --git a/scripts/debian/update-ftpstats b/scripts/debian/update-ftpstats index 1f9727a4..a7fda09e 100755 --- a/scripts/debian/update-ftpstats +++ b/scripts/debian/update-ftpstats @@ -1,20 +1,29 @@ #!/usr/bin/perl +use strict; +use warnings; + +use IO::Uncompress::AnyUncompress ":all"; + my %data; my %data2; my @archs = ("source", "all", "amd64", "i386", "alpha", "arm", "armel", "armhf", "hppa", "hurd-i386", "ia64", "kfreebsd-amd64", "kfreebsd-i386", "mips", "mipsel", "powerpc", "s390", "s390x", "sparc"); -while (<>) { - if (/^(\d{8})\d{6}\|(?:k(?:atie|elly)|process-(?:accepted|upload))(?:\|dak)?\|installed\|[^|]+\|[^|]+\|(\d+)\|([-\w]+)$/) { - if (not defined $data{$1}) { - foreach $a (@archs) { - $data{$1}{$a} = 0; +for my $file (@ARGV) { + my $FH = new IO::Uncompress::AnyUncompress $file, Transparent => 1 + or die "Cannot open $file: $AnyUncompressError\n"; + while (<$FH>) { + if (/^(\d{8})\d{6}\|(?:k(?:atie|elly)|process-(?:accepted|upload))(?:\|dak)?\|installed\|[^|]+\|[^|]+\|(\d+)\|([-\w]+)$/) { + if (not defined $data{$1}) { + foreach $a (@archs) { + $data{$1}{$a} = 0; + } } + $data{$1}{$3} += $2; + $data2{$1}{$3}++; } - $data{$1}{$3} += $2; - $data2{$1}{$3}++; } }