From cfb20729b17e1190ba1e9b10e13096a5e52c059d Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Wed, 8 Dec 2010 20:46:00 +0100 Subject: [PATCH] browser: transfer usage of unknown version to next row Do not compile usage data to shown browser versions, as the latter list changes over time. Instead find next number present for unknown versions during runtime. Fixes counting of old versions dropped in last release, and prepares for upcoming changes. --- browser.plp | 16 +++++++++++++++- tools/convert-stats-wikimedia.pl | 7 ++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/browser.plp b/browser.plp index 27dcb1b..eee6096 100644 --- a/browser.plp +++ b/browser.plp @@ -1,7 +1,7 @@ <(common.inc.plp)><: use 5.010; use utf8; -use List::Util qw(sum max); +use List::Util qw(sum max first); Html({ title => 'browser compatibility cheat sheet', @@ -91,6 +91,20 @@ given ($get{usage} // 'wm') { $ref .= " $_" for $canihas->{-date} || (); print "\nwith $ref browser usage statistics"; } +if ($usage) { + # first() does not work inside given >:( + while (my ($browser, $row) = each %$canihas) { + my $verlist = $versions{$browser} or next; + my %supported = map { $_ => 1 } @$verlist; + $row->{$_} //= undef for @$verlist; # ensure stable keys during iteration + while (my ($version, $usage) = each %$row) { + next if defined $supported{$version}; + $_ = paddedver($_) for $version; + my $next = first { paddedver($_) ge $version } @$verlist; # or next + $row->{$next} += $usage; + } + } +} :>.

diff --git a/tools/convert-stats-wikimedia.pl b/tools/convert-stats-wikimedia.pl index 5ee59ca..b5b833d 100644 --- a/tools/convert-stats-wikimedia.pl +++ b/tools/convert-stats-wikimedia.pl @@ -38,10 +38,7 @@ given ($browser) { ($_) = $1 =~ m{^/(\d+)}; continue; } - s/\d\d\.\d\K.*// or do { - # major part only, except for ≥v9.6 - $_ ge '9.6' ? ($_ = '9.6') : (s/\..*//); - }; + s/^\d*\.\d\K.*//; # one significant digit } continue; } @@ -57,7 +54,7 @@ given ($browser) { [ '525' => '2' ], [ '528' => '3' ], [ '531' => '3.2' ], - [ '531.022' => '4.1' ], + [ '531.022' => '4' ], [ '533' => '4.2' ], [ '534' => '4x' ], ) : ( -- 2.30.0