From efd1521b9205af6af3427c8191eaa7bc2a6cc137 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Mon, 27 May 2019 22:33:38 +0200 Subject: [PATCH] browser: dynamic include of last 3 wikimedia dates Replace hardcoded year by a comparison of the 3rd most recent day. Loads the entire input in memory for simplicity, which is currently only 1MB so do not care. --- tools/mkusage-wikimedia | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/mkusage-wikimedia b/tools/mkusage-wikimedia index 7a59ba5..4470c50 100755 --- a/tools/mkusage-wikimedia +++ b/tools/mkusage-wikimedia @@ -34,14 +34,21 @@ my %count = ( -site => 'https://analytics.wikimedia.org/', ); -my $recent = qr/^2019-/; - (readline =~ y/\t//) == 3 or die "unexpected amount of columns in header\n"; +my @lines = readline; + +my $recent; # minimum date to include +for (reverse @lines) { + my ($date) = /(\S+)/; + $recent ne $date or next if $recent; # same day + $recent = $date; # override older date + last if state $i++ >= 2; # repeat twice +} -while (my $row = readline) { +for my $row (@lines) { $row =~ s/\r?\n\z//; my ($date, $name, $version, $pct) = split /\t/, $row; - $date =~ $recent or next; + $date ge $recent or next; $name =~ y/ /-/; my $browser = $BROWSERID{$name}; if (not $browser) { -- 2.30.0