Show
Ignore:
Timestamp:
05/21/09 08:15:53 (5 years ago)
Author:
cento
Message:

write POD and test

Location:
lang/perl/WWW-Allcinema/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/WWW-Allcinema/trunk/lib/WWW/Allcinema.pm

    r33466 r33468  
    44use warnings; 
    55use LWP::UserAgent; 
    6 use HTTP::Request::Common qw(POST); 
    76use HTML::TokeParser; 
    87use Encode; 
     
    3837    my $self = shift; 
    3938    $self->_get_page() unless $self->error; 
    40     return $self->{matched}; 
     39    return $self->{_likely}; 
    4140} 
    4241 
     
    162161                if ( $_->{title} =~ /^$title$/ ) { 
    163162                    $self->id( $_->{id} ); 
    164                     $self->{matched} = [ { id => $_->{id}, title => $title } ]; 
    165                     last; 
     163                    $self->{_likely} = { id => $_->{id}, title => $title }; 
    166164                } 
    167165            } 
     
    169167        unless ( $self->id ) { 
    170168            $self->id( $matched->[0]->{id} ); 
    171         } 
    172         $self->_get_page(); 
     169            $self->{_likely} = 
     170              { id => $matched->[0]->{id}, title => $matched->[0]->{title} }; 
     171        } 
    173172    } 
    174173    else { 
     
    290289  use WWW::Allcinema; 
    291290  my $ac = WWW::Allcinema->new('ゆれる'); 
    292   print $ac->director; # 西川美和 
     291  my $result = $ac->search(); 
     292  $ac->get(); 
     293  print $ac->director(); # 西川美和 
    293294 
    294295=head1 DESCRIPTION 
     
    304305=item new() 
    305306 
    306 Give a film title or allcinema ID. If you give a title, it will search first, and then access to the page of most likely page while it directly goes to the movie information page when given ID. 
     307Give a film title or allcinema ID or country. If you give a ID, it can directly goes to the movie information page when given ID while it will search first, and then access to the page of most likely page when given other parameters. 
    307308 
    308309  my $ac = WWW::Allcinema->new('GOEMON'); 
    309310 
    310 or 
    311  
    312311  my $ac = WWW::Allcinema->new({id => 330507}); 
    313312 
     313  my $ac = WWW::Allcinema->new({title=>'大捜査線',country=>'香港'}); 
     314 
    314315=back 
    315316 
     
    318319=over 4 
    319320 
    320 =item title() 
    321  
    322   returns title 
    323  
    324 =item id() 
    325  
    326   returns allcinema ID 
    327  
    328 =item year() 
    329  
    330   returns year 
    331  
    332 =item time() 
    333  
    334   returns time by minute 
    335  
    336 =item country() 
    337  
    338   returns country 
    339  
    340 =item genre() 
    341  
    342   returns genre arrayref 
    343  
    344 =item director() 
    345  
    346   returns director 
    347  
    348 =item producers() 
    349  
    350   returns producers arrayref 
    351  
    352 =item screenplay() 
    353  
    354   returns screenplay arrayref 
    355  
    356 =item cast() 
    357  
    358   returns cast arrayref ([{'cast'=>'role'},...,]) 
    359  
    360 =item error() 
    361  
    362 returns error message. 
    363  
    364   if($ac->error){ 
    365     print "error: $ac->error"; 
    366   } 
     321=item search() 
     322 
     323searches by given constructor parameters and returns most likely result. 
     324 
     325  my $result = $ac->search(); 
     326  print "id: $result->{id}, title: $result->{title}"; 
    367327 
    368328=item matched() 
    369329 
    370 returns id and title of search result 
    371  
     330returns all search results 
     331 
     332  $ac->search(); 
    372333  my $matched = $ac->matched; 
    373334  if($matched){ 
     
    377338  } 
    378339 
     340=item title() 
     341 
     342returns title 
     343 
     344=item id() 
     345 
     346returns allcinema ID 
     347 
     348=item year() 
     349 
     350returns year 
     351 
     352=item time() 
     353 
     354returns time by minute 
     355 
     356=item country() 
     357 
     358returns country 
     359 
     360=item genre() 
     361 
     362returns genre arrayref 
     363 
     364=item director() 
     365 
     366returns director 
     367 
     368=item producers() 
     369 
     370returns producers arrayref 
     371 
     372=item screenplay() 
     373 
     374returns screenplay arrayref 
     375 
     376=item cast() 
     377 
     378returns cast arrayref ([{'cast'=>'role'},...,]) 
     379 
     380=item error() 
     381 
     382returns error message. 
     383 
     384  if($ac->error){ 
     385    print "error: $ac->error"; 
     386  } 
     387 
     388 
    379389=back 
    380390 
  • lang/perl/WWW-Allcinema/trunk/t/01_search.t

    r33466 r33468  
    1010my $result = $ac->search(); 
    1111is_deeply( $result, 
    12     [ { id => 51832, title => 'トレインスポッティング' } ], 
     12    { id => 51832, title => 'トレインスポッティング' }, 
    1313    'title scalar' ); 
    1414 
     
    1717is_deeply( 
    1818    $result, 
    19     [ 
    20         { 
    21             id    => 150405, 
    22             title => '機動戦士ガンダム 逆襲のシャア' 
    23         } 
    24     ], 
     19    { 
     20        id    => 150405, 
     21        title => '機動戦士ガンダム 逆襲のシャア', 
     22    }, 
    2523    'title hash' 
    2624); 
     
    3028$result = $ac->search(); 
    3129is_deeply( 
    32     $result->[0], 
     30    $result, 
    3331    { id => 4998, title => 'ガンジー' }, 
    3432    'title and country' 
     
    3836    { 'country' => [ ( 'スウェーデン', '日本' ) ] } ); 
    3937$result = $ac->search(); 
    40 is_deeply( $result->[0], { id => 12977, title => '戦争の顔' }, 
    41     'countries' ); 
     38is_deeply( $result, { id => 12977, title => '戦争の顔' }, 'countries' ); 
    4239 
    4340$ac     = WWW::Allcinema->new('ゆれる'); 
    4441$result = $ac->search(); 
    45 is_deeply( 
    46     $result, 
    47     [ { id => 324256, title => 'ゆれる' } ], 
    48     'some candidates' 
    49 ); 
     42is_deeply( $result, { id => 324256, title => 'ゆれる' }, 'some candidates' ); 
    5043 
  • lang/perl/WWW-Allcinema/trunk/t/03_process_page.t

    r33466 r33468  
    8383 
    8484$ac = WWW::Allcinema->new('崖の上のポニョ'); 
     85$ac->search(); 
    8586$ac->get(); 
    86  
    8787is( $ac->title, '崖の上のポニョ', 'title' ); 
    8888is( $ac->year,  2008,                    'year' ); 
     
    9696is_deeply( $ac->music,      [qw(久石譲)],    'music' ); 
    9797 
    98 # $ac = WWW::Allcinema->new('ダイハード'); 
    99 # $ac->get(); 
    100 # is( $ac->title, 'ダイ・ハード', 'more than two candidates not matched' ); 
    101  
    102 # $ac = WWW::Allcinema->new( { id => 766 } ); 
    103 # $ac->get(); 
    104 # is_deeply( 
    105 #     $ac->country, 
    106 #     [qw(アメリカ ニュージーランド)], 
    107 #     'multi countries' 
    108 # ); 
     98$ac = WWW::Allcinema->new( { id => 766 } ); 
     99$ac->get(); 
     100is_deeply( 
     101    $ac->country, 
     102    [qw(アメリカ ニュージーランド)], 
     103    'multi countries' 
     104);