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
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs