Changeset 27208 in osm for applications/editors/josm/i18n


Ignore:
Timestamp:
2011-12-11T13:15:45+01:00 (13 years ago)
Author:
stoecker
Message:

typo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/i18n/launchpad.pl

    • Property svn:keywords set to Revision
    r27026 r27208  
    11#!/usr/bin/perl -w
     2# -CDSL would be better than explicit encoding settings
    23
    34use strict;
     
    2021);
    2122
     23my $revision = '$Revision$revision =~ s/^.*?(\d+).*$/$1/;
     24my $agent = "JOSM_Launchpad/1.$revision";
     25
    2226my $count = 0;#11;
    2327my $cleanall = 0;#1;
     
    5155{
    5256    podownload();
     57}
     58elsif($ARGV[0] eq "stats")
     59{
     60    getstats();
    5361}
    5462else
     
    123131    require WWW::Mechanize;
    124132
    125     my $mech = WWW::Mechanize->new("agent" => "JOSM_Launchpad/1.0");
     133    my $mech = WWW::Mechanize->new("agent" => $agent);
    126134
    127135      #$mech->add_handler("request_send" => sub {
     
    216224    }
    217225}
     226
     227sub doget
     228{
     229  my ($mech, $page) = @_;
     230  print "$page\n";
     231  for(my $i = 1; $i <= 50; $i++)
     232  {
     233    eval
     234    {
     235      $mech->get($page);
     236    };
     237    print "Try $i: $@" if $@;
     238    return $mech if !$@;
     239    sleep(30+5*$i);
     240    $mech = WWW::Mechanize->new("agent" => $agent);
     241  }
     242  return $mech;
     243}
     244
     245sub getstats
     246{
     247  my %results;
     248  require WWW::Mechanize;
     249  require Data::Dumper;
     250  require URI::Escape;
     251  my $mech = WWW::Mechanize->new("agent" => $agent);
     252
     253  if(open DFILE,"<:utf8","launchpadtrans.data")
     254  {
     255    local $/;
     256    $/ = undef;
     257    my $val = <DFILE>;
     258    eval $val;
     259    close DFILE;
     260  }
     261
     262  binmode STDOUT, ":utf8";
     263
     264  open FILE,">:utf8","launchpadtrans.txt" or die "Could not open output file.";
     265
     266  for my $lang (sort keys %lang)
     267  {
     268    $mech->get("https://translations.launchpad.net/josm/trunk/+pots/josm/$lang/");
     269    sleep(1);
     270    my $cont = utf8::upgrade($mech->content());
     271    while($cont =~ /<a href="https?:\/\/launchpad.net\/~(.*?)" class="sprite person(-inactive)?">(.*?)<\/a>/g)
     272    {
     273      my ($code, $inactive, $name) = ($1, $2, $3);
     274      if(exists($results{$code}{$lang}))
     275      {
     276        printf "%-5s - %-30s - Found - %s\n", $lang,$code,$name;
     277        next;
     278      }
     279      my $urlcode = URI::Escape::uri_escape($code);
     280      $mech = doget($mech, "https://translations.launchpad.net/josm/trunk/+pots/josm/$lang/+filter?person=$urlcode");
     281      sleep(1);
     282      my ($count) = $mech->content() =~ /of[\r\n\t ]+?(\d+)[\r\n\t ]+?result/;
     283      if($count && $mech->status == 200)
     284      {
     285        $results{$code}{NAME} = $name;
     286        $results{$code}{$lang} = $count;
     287        $results{$code}{TOTAL} += $count;
     288        if(open DFILE,">:utf8","launchpadtrans.data")
     289        {
     290          print DFILE Data::Dumper->Dump([\%results],['*results']);
     291          close DFILE;
     292        }
     293        printf "%-5s - %-30s - %5d - %s\n", $lang,$code,$count,$name;
     294       
     295      }
     296      else
     297      {
     298        printf "%-5s - %-30s - Skip  - %s\n", $lang,$code,$name;
     299      }
     300    }
     301  }
     302  for my $code (sort {$results{$b}{TOTAL} <=> $results{$a}{TOTAL}} keys %results)
     303  {
     304    print FILE "$results{$code}{NAME}:$results{$code}{TOTAL}";
     305    printf "%5d - %-50s",$results{$code}{TOTAL}, $results{$code}{NAME};
     306    for my $lang (sort keys %{$results{$code}})
     307    {
     308      next if $lang eq "NAME" or $lang eq "TOTAL";
     309      print FILE ";$lang=$results{$code}{$lang}";
     310      printf " - %-5s=%5d",$lang, $results{$code}{$lang};
     311    }
     312    print FILE "\n";
     313    print "\n";
     314  }
     315}
Note: See TracChangeset for help on using the changeset viewer.