Show
Ignore:
Timestamp:
09/30/08 23:57:42 (5 years ago)
Author:
kokogiko
Message:

Use Mobile::Data::ITU/SID

Location:
lang/perl/HTTP-MobileAgent-Plugin-RoamingZone/trunk
Files:
1 removed
6 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/HTTP-MobileAgent-Plugin-RoamingZone/trunk/Build.PL

    r18459 r20322  
    1111        'Test::Base'        => 0, 
    1212        'version'           => 0, 
     13        'Mobile::Data::ITU' => 0, 
     14        'Mobile::Data::SID' => 0, 
    1315        'HTTP::MobileAgent' => '0.27', 
    1416    }, 
  • lang/perl/HTTP-MobileAgent-Plugin-RoamingZone/trunk/Changes

    r18459 r20322  
    11Revision history for HTTP-MobileAgent-Plugin-RoamingZone 
     2 
     30.0.3  Thu Sep 30 2008 
     4       Use Mobile::Data::ITU and Mobile::Data::SID modules. 
    25 
    360.0.2  Sat Aug 30 2008 
  • lang/perl/HTTP-MobileAgent-Plugin-RoamingZone/trunk/MANIFEST

    r18460 r20322  
    22Changes 
    33lib/HTTP/MobileAgent/Plugin/RoamingZone.pm 
    4 lib/HTTP/MobileAgent/Plugin/RoamingZone/CodeHash.pm 
    54Makefile.PL 
    65MANIFEST 
  • lang/perl/HTTP-MobileAgent-Plugin-RoamingZone/trunk/README

    r18409 r20322  
    77L<http://www.nttdocomo.co.jp/service/imode/make/content/ip/index.html#world>に記載された仕様に従い実装され、 
    88国番号を取得し、L<http://www.itu.int/itudoc/itu-t/ob-lists/icc/e212_685.html>で配布されている国番号->国名の 
    9 変換テーブルに従って、国名/国内海外判定を行っています。 
     9変換テーブルに従って、Mobile::Data::ITUモジュールを使って国名/国内海外判定を行っています。 
    1010 
    1111SoftBank 
     
    1717 
    1818公式な仕様が存在していませんが、L<http://mscl.jp/diary/img/KDDI-SA3D.txt>等でレポートされているグローバル 
    19 パスポート携帯のみに存在するヘッダC<x-up-devcap-zone>において、地域情報が得られるのではないかとの想定の元 
    20 実装しています。 
    21 公式仕様がないため、実際にヘッダが返すデータと地域との対応表がありませんが、レポート・テストケース等の 
    22 報告をお待ちしております。 
     19パスポート携帯のみに存在するヘッダC<x-up-devcap-zone>において、L<http://www.ifast.org/files/SIDNumeric.htm> 
     20の仕様に規定された国コードが返される模様であるため、Mobile::Data::SIDモジュールを使って国名変換を行います。 
    2321 
    2422 
     
    4240DEPENDENCIES 
    4341 
    44 None. 
     42HTTP::MobileAgengt 
     43Mobile::Data::ITU 
     44Mobile::Data::SID 
     45Test::Base 
    4546 
    4647 
  • lang/perl/HTTP-MobileAgent-Plugin-RoamingZone/trunk/lib/HTTP/MobileAgent/Plugin/RoamingZone.pm

    r18459 r20322  
    55use Carp; 
    66 
    7 use version; our $VERSION = qv('0.0.2'); 
     7use version; our $VERSION = qv('0.0.3'); 
    88use HTTP::MobileAgent; 
    9 use HTTP::MobileAgent::Plugin::RoamingZone::CodeHash; 
     9use Mobile::Data::ITU; 
     10use Mobile::Data::SID; 
    1011 
    1112########################################## 
     
    1415package # hide from PAUSE  
    1516       HTTP::MobileAgent; 
     17use Mobile::Data::ITU; 
    1618 
    1719sub zone_code { $_[0]->_zone_code || '440' } 
     
    2022 
    2123sub zone_name {  
    22     $_[0]->_zone_name || 
    23     HTTP::MobileAgent::Plugin::RoamingZone::CodeHash::zone_name($_[0]->zone_code) || 'Unknown';  
     24    my $ret = $_[0]->_zone_name; 
     25    unless ( $ret ) { 
     26        my $code = $_[0]->zone_code; 
     27        $ret = itu2country($code) if ($code =~ /^\d+$/); 
     28        $ret = 'Unknown' unless ($ret); 
     29    } 
     30    $ret; 
    2431} 
    2532 
     
    4653package # hide from PAUSE 
    4754       HTTP::MobileAgent::EZweb; 
     55use Mobile::Data::SID; 
    4856 
    49 sub _zone_code { $_[0]->get_header('x-up-devcap-zone') } 
     57sub _zone_code { $_[0]->get_header('x-up-devcap-zone') || 12304 } 
    5058 
    51 sub _zone_name { 'Japan' if ( $_[0]->zone_code eq '12304' ) } 
     59sub _zone_name { sid2country( $_[0]->zone_code ) } 
    5260 
    5361########################################## 
     
    5664package # hide from PAUSE 
    5765       HTTP::MobileAgent::Vodafone; 
     66use Mobile::Data::ITU; 
    5867 
    5968sub _zone_code { $_[0]->get_header('x-jphone-region') } 
    6069 
    61 sub _zone_name {'Japan' if ( $_[0]->zone_code eq '44020' ) } 
     70#sub _zone_name {'Japan' if ( $_[0]->zone_code eq '44020' ) } 
    6271 
    6372 
    64731; # Magic true value required at end of module 
    6574__END__ 
     75 
     76=encoding utf-8 
    6677 
    6778=head1 NAME 
     
    105116=item C<< HTTP::MobileAgengt >> 
    106117 
     118=item C<< Mobile::Data::ITU >> 
     119 
     120=item C<< Mobile::Data::SID >> 
     121 
    107122=item C<< Test::Base >> 
    108123 
     
    118133L<http://www.nttdocomo.co.jp/service/imode/make/content/ip/index.html#world>に記載された仕様に従い実装され、 
    119134国番号を取得し、L<http://www.itu.int/itudoc/itu-t/ob-lists/icc/e212_685.html>で配布されている国番号->国名の 
    120 変換テーブルに従って、国名/国内海外判定を行っています。 
     135変換テーブルに従って、Mobile::Data::ITUモジュールを使って国名/国内海外判定を行っています。 
    121136 
    122137=head2 SoftBank 
     
    128143 
    129144公式な仕様が存在していませんが、L<http://mscl.jp/diary/img/KDDI-SA3D.txt>等でレポートされているグローバル 
    130 パスポート携帯のみに存在するヘッダC<x-up-devcap-zone>において、地域情報が得られるのではないかとの想定の元 
    131 実装しています。 
    132 公式仕様がないため、実際にヘッダが返すデータと地域との対応表がありませんが、レポート・テストケース等の 
    133 報告をお待ちしております。 
     145パスポート携帯のみに存在するヘッダC<x-up-devcap-zone>において、L<http://www.ifast.org/files/SIDNumeric.htm> 
     146の仕様に規定された国コードが返される模様であるため、Mobile::Data::SIDモジュールを使って国名変換を行います。 
    134147 
    135148 
  • lang/perl/HTTP-MobileAgent-Plugin-RoamingZone/trunk/t/01.parse.t

    r18409 r20322  
    110110NULL 
    111111--- expected 
    112 440 
     11212304 
    113113Japan 
    1141140 
     
    119119UNDEF 
    120120--- expected 
    121 440 
     12112304 
    122122Japan 
    1231230 
     
    138138--- expected 
    13913912345 
    140 Unknown 
    141 1 
     140Japan 
     1410 
    142142