tools: rename convert tools to regular mk*
[sheet.git] / tools / convert-stats-gs.pl
diff --git a/tools/convert-stats-gs.pl b/tools/convert-stats-gs.pl
deleted file mode 100644 (file)
index c01691d..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/usr/bin/env perl
-use 5.010;
-use strict;
-use warnings;
-
-use Data::Dump 'pp';
-use Text::CSV;
-
-my %BROWSERID = qw(
-       IE          ie
-       Firefox     firefox
-       Safari      safari
-       Safari-iPad ios_saf
-       Chrome      chrome
-       Opera       opera
-
-       Android     android
-       iPhone      ios_saf
-       iPod-Touch  ios_saf
-);
-
-my %count = (
-       -title  => 'StatCounter',
-       -site   => 'http://gs.statcounter.com/',
-);
-
-if (@ARGV) {
-       my %param = (
-               bar             => 1,
-               region_hidden   => 'ww', # Worldwide
-               granularity     => 'monthly',
-               fromMonthYear   => $ARGV[0],
-               toMonthYear     => $ARGV[1] // $ARGV[0],
-               csv             => 1,
-       );
-       my $site = $count{-site};
-       $site .= 'chart.php?'.join('&', map "$_=$param{$_}", keys %param);
-       $site .= '&statType_hidden=';
-       $count{-source} = $site;
-
-       require LWP::Simple;
-       {
-               my $url = $site.'browser_version';
-               my $download = LWP::Simple::get($url) or die "No data from $url\n";
-               open my $input, '<', \$download or die $!;
-               parsecsv($input);
-       }
-
-       {
-               my $url = $site.'mobile_vs_desktop';
-               my $download = LWP::Simple::get($url) or warn "No data from $url\n";
-               open my $input, '<', \$download or die $!;
-               parsecsv($input);
-
-               my %mult = map {
-                       $_ => ( delete $count{$_} )->{0} / 100,
-               } qw(Desktop Mobile);
-
-               # apply desktop multiplier with inverse of mobile (reverted below)
-               for (values %count) {
-                       ref $_ eq 'HASH' or next;
-                       $_ *= $mult{Desktop} / $mult{Mobile} for values %$_;
-               }
-               $count{Opera} = delete $count{opera};  # preserve
-
-               $url = $site.'mobile_browser';
-               $download = LWP::Simple::get($url) or warn "No data from $url\n";
-               open $input, '<', \$download or die $!;
-               parsecsv($input);
-
-               # apply mobile multiplier to everything (undoing it for desktop)
-               for (values %count) {
-                       ref $_ eq 'HASH' or next;
-                       $_ *= $mult{Mobile} for values %$_;
-               }
-               $count{op_mini} = delete $count{opera};  # mobile distinction
-               $count{opera}   = delete $count{Opera};  # restore desktop
-       }
-}
-else {
-       parsecsv(\*STDIN);
-}
-
-sub parsecsv {
-       my ($input) = @_;
-       my $csv = Text::CSV->new or die Text::CSV->error_diag;
-       while (my $row = $csv->getline($input)) {
-               my ($browser, $pct) = @$row;
-               $browser and $pct or next;
-
-               my $version = $browser =~ s/ (\d\S*)$// ? $1 : 0;
-               given ($browser) {
-                       when (['Browser Version', 'Mobile Browser', 'Mobile vs. Desktop']) {
-                               $pct =~ s/^Market Share % // and $count{-date} = $pct;
-                       }
-                       $browser =~ tr/ /-/;
-                       $browser = $_ for $BROWSERID{$browser} // ();
-                       $version =~ s/\.0$//;
-                       $count{$browser}->{$version} += $pct;
-               }
-       }
-       $csv->eof or $csv->error_diag;
-}
-
-print pp(\%count);
-
-__END__
-
-=head1 USAGE
-
-cat <csv data> | F<convert-stats-gs> > browser-usage-gs.inc.pl
-
-F<convert-stats-gs> <year-month>
-