browser: recognise op_mini, ios
authorMischa POSLAWSKY <perl@shiar.org>
Sun, 5 Dec 2010 18:05:44 +0000 (19:05 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 6 Dec 2010 00:04:46 +0000 (01:04 +0100)
tools/convert-stats-wikimedia.pl

index 8cbb4169b18d4c9a002e4b297fbbb164c2332dfc..42faf2099cc16640becb925799efffb412d08a75 100644 (file)
@@ -26,6 +26,11 @@ given ($browser) {
        when ('Opera') {
                $browser = $mobile ? 'op_mob' : 'presto';
                for ($version) {
        when ('Opera') {
                $browser = $mobile ? 'op_mob' : 'presto';
                for ($version) {
+                       if (m{\(Mini(.*)\)$}) {
+                               $browser = 'op_mini';
+                               ($_) = $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\.\d\K.*// or do {
                                # major part only, except for ≥v9.6
                                $_ ge '9.6' ? ($_ = '9.6') : (s/\..*//);
@@ -36,16 +41,27 @@ given ($browser) {
        when ('Safari') {
                $browser = $mobile ? 'ios_saf' : 'webkit_saf';
                my $numversion = join('.', map { sprintf '%03d', $_ } split /\./, $version);
        when ('Safari') {
                $browser = $mobile ? 'ios_saf' : 'webkit_saf';
                my $numversion = join('.', map { sprintf '%03d', $_ } split /\./, $version);
-               $numversion =~ s/6(?=\d{3})//;  # erroneous(?) 6532.22 → 523
+               $numversion =~ s/6(?=\d{3})//;  # incomparable 6532.22 → 523
                for (
                        # http://en.wikipedia.org/wiki/Safari_version_history
                for (
                        # http://en.wikipedia.org/wiki/Safari_version_history
-                       [ '413'     => '2'   ],
-                       [ '522'     => '3'   ],
-                       [ '525.013' => '3.1' ],
-                       [ '525.026' => '3.2' ],
-                       [ '526'     => '4'   ],
-                       [ '533'     => '5'   ],
-                       [ '534'     => '5x'  ],
+                       $mobile ? (
+                               [ '413'     => '1'   ],
+                               [ '419'     => '1.1' ],
+                               [ '525'     => '2'   ],
+                               [ '528'     => '3'   ],
+                               [ '531'     => '3.2' ],
+                               [ '531.022' => '4.1' ],
+                               [ '533'     => '4.2' ],
+                               [ '534'     => '4x' ],
+                       ) : (
+                               [ '413'     => '2'   ],
+                               [ '522'     => '3'   ],
+                               [ '525.013' => '3.1' ],
+                               [ '525.026' => '3.2' ],
+                               [ '526'     => '4'   ],
+                               [ '533'     => '5'   ],
+                               [ '534'     => '5x'  ],
+                       )
                ) {
                        last if $numversion lt $_->[0];
                        $version = $_->[1];
                ) {
                        last if $numversion lt $_->[0];
                        $version = $_->[1];