https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113527
Revision: 113527 Author: a_engels Date: 2012-03-09 21:20:11 +0000 (Fri, 09 Mar 2012) Log Message: ----------- Improved recognition & specification of mobile applications Modified Paths: -------------- trunk/wikistats/squids/SquidCountArchive.pl trunk/wikistats/squids/SquidCountArchiveProcessLogRecord.pm trunk/wikistats/squids/SquidCountArchiveWriteOutput.pm Modified: trunk/wikistats/squids/SquidCountArchive.pl =================================================================== --- trunk/wikistats/squids/SquidCountArchive.pl 2012-03-09 21:17:17 UTC (rev 113526) +++ trunk/wikistats/squids/SquidCountArchive.pl 2012-03-09 21:20:11 UTC (rev 113527) @@ -55,7 +55,7 @@ $time_start = time ; $path_root = $job_runs_on_production_server ? $cfg_path_root_production : $cfg_path_root_test ; - $tags_wiki_mobile = "CFNetwork|Dalvik" ; + $tags_wiki_mobile = "CFNetwork|Dalvik|WikipediaMobile|Appcelerator" ; $tags_mobile = "Android|BlackBerry|Windows CE|DoCoMo|iPad|iPod|iPhone|HipTop|Kindle|LGE|Linux arm|Mobile|MIDP|NetFront|Nintendo|Nokia|Obigo|Opera Mini|Opera Mobi|Palm|Playstation|Samsung|SoftBank|SonyEricsson|SymbianOS|UP\.Browser|Vodafone|WAP|webOS|HTC_Touch|KDDI|FOMA|HTC_HD2|Polaris|Teleca" ; $tags_mobile_upd = "February 2012" ; Modified: trunk/wikistats/squids/SquidCountArchiveProcessLogRecord.pm =================================================================== --- trunk/wikistats/squids/SquidCountArchiveProcessLogRecord.pm 2012-03-09 21:17:17 UTC (rev 113526) +++ trunk/wikistats/squids/SquidCountArchiveProcessLogRecord.pm 2012-03-09 21:20:11 UTC (rev 113527) @@ -290,7 +290,7 @@ $os = ".." ; - if ($agent2 =~ /CFNetwork/io) { $os = "iPhone" ; } + if ($agent2 =~ /CFNetwork/io) { $os = "iOS" } elsif ($agent2 =~ /BlackBerry/io) {($os = $agent2) =~ s/^.*?BlackBerry[^\/]*\/(\d+\.\d+).*$/BlackBerry\/$1/io ; } # BlackBerry/8320/4.2 -> BlackBerry/4.2 elsif ($agent2 =~ /DoCoMo/io) { $os = "DoCoMo" ; } elsif ($agent2 =~ /iPad/io) { $version = "iPad" ; ($os = $agent2) =~ s/^.*?(iPad OS \d+\_\d+).*$/$1/io ; } @@ -341,7 +341,7 @@ elsif ($agent2 =~ /Danger/io) { $os = "Danger" ; } elsif ($agent2 =~ /J2ME\/MIDP/io) { $os = "Java/ME" ; } elsif ($agent2 =~ /Kindle/io) { $os = "Kindle" ; } - elsif ($agent2 =~ /Dalvik/io) { $os = "Android" ; } + elsif ($agent2 =~ /Dalvik/io) { $os = "Android" } if (($os eq '..') && ($mobile eq 'M' || $mobile eq 'W')) { @@ -349,7 +349,7 @@ $mobile_other {$agent2} += $count_event ; } - if ($version =~ /(?:iPod|iPhone|iPad)/io) + if ($version =~ /(?:iPod|iPhone)/io) { if ($os !~ /Iphone OS \d/io) { $os = "iPhone OS 1_X" ; } @@ -408,6 +408,14 @@ elsif ($agent2 eq "-") {;} + # iOS APPLICATIONS + elsif ($agent2 =~ /CFNetwork/io) + { + $agent2 =~ s/^(.*) CFNetwork.*$/iOS: $1/io ; + if ($agent2 =~ /Wikipedia Mobile\//io) { $agent2 =~ s/$/ (WMF)/io ; } + $version = $agent2 ; + } + # KINDLE elsif ($agent2 =~ /Kindle/io) { ($version = $agent2) =~ s/^.*?(Kindle \d+\.\d+).*$/$1/io ; } @@ -474,11 +482,18 @@ # DALVIK (applications on Android) elsif ($agent2 =~ /Dalvik\/\d+/io) - { ($version = $agent2) =~ s/^.*?(Dalvik\/\d+\.?\d*).*$/$1/o ; } + { ($version = $agent2) =~ s/^.*?(Dalvik\/\d+\.?\d*).*$/Android: $1/o ; } + # WIKIPEDIA MOBILE + elsif ($agent2 =~ /WikipediaMobile(\/| )\d+/io) + { ($version = $agent2) =~ s/^.*(WikipediaMobile(\/| )(\d|\.)+).*$/Android: $1 (WMF)/o ; } + # ANDROID elsif ($agent2 =~ /Android\/\d+/io) - { ($version = $agent2) =~ s/^.*?(Android\/\d+\.?\d*).*$/$1/o ; } + { + $agent2 =~ s/^.*?(Android\/\d+\.?\d*).*$/$1/o ; + $version = $agent2 ; + } # EXPLORER elsif ($agent2 =~ /Mozilla\/\d+\.\d+ \(compatible;.*MSIE/io) @@ -572,6 +587,11 @@ $agent2 = "*[$version] [$os] --- $agent2" ; } + if ($version =~ /\d.*\([^\)]{10}/io) + { + $version =~ s/\([^\)]{10}.*$//io ; + } + if ((! $bot) && ($agent ne "-")) { $engine =~ s/,/,/go ; Modified: trunk/wikistats/squids/SquidCountArchiveWriteOutput.pm =================================================================== --- trunk/wikistats/squids/SquidCountArchiveWriteOutput.pm 2012-03-09 21:17:17 UTC (rev 113526) +++ trunk/wikistats/squids/SquidCountArchiveWriteOutput.pm 2012-03-09 21:20:11 UTC (rev 113527) @@ -625,9 +625,14 @@ ($mobile,$version,$mimecat) = split (',', $key) ; print OUT2 "\%CLIENTS: '$mobile','$version','$mimecat': " . $clients{$key} . "\n" ; $total_clients {$mimecat} += $clients{$key} ; - $version =~ s/ .*$// ; - $version =~ s/\/.*$// ; + my $wmf = ($version =~ /\(WMF\)/ ) ; + if ($version =~ /\//) + { $version =~ s/\/.*$// ;} + else + { $version =~ s/ .*$// ; } $version =~ s/,/,/g ; + if ($wmf && ! ($version =~ /\(WMF\)/ )) + { $version =~ s/$/ (WMF)/ ; } $group = "$mobile,$version,$mimecat" ; $grouped_clients {$group} += $clients{$key} ; } _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs