From: Mischa POSLAWSKY Date: Wed, 8 Dec 2010 19:46:00 +0000 (+0100) Subject: browser: transfer usage of unknown version to next row X-Git-Tag: v1.4~25 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/cfb20729b17e1190ba1e9b10e13096a5e52c059d?hp=1fce3b7a43db2a10c3dbab2b3bc89dc7a90c3bad 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. --- 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' ], ) : (