NAME

WWW::GoKGS::Scraper::TournInfo - Information for the KGS tournament

SYNOPSIS

use WWW::GoKGS::Scraper::TournInfo;

my $tourn_info = WWW::GoKGS::Scraper::TournInfo->new;

my $result = $tourn_info->query(
    id => 762
);
# => {
#     name => 'KGS Meijin Qualifier October 2012',
#     description => 'Welcome to the KGS Meijin October Qualifier! ...',
#     links => {
#         entrants => [
#             {
#                 sort_by => 'name',
#                 uri     => '/tournEntrants.jsp?id=762&sort=n'
#             },
#             {
#                 sort_by => 'result',
#                 uri     => '/tournEntrants.jsp?id=762&sort=s'
#             }
#         ],
#         rounds => [
#             {
#                 round      => 1,
#                 start_time => '2012-10-27T16:05Z',
#                 end_time   => '2012-10-27T18:35Z',
#                 uri        => '/tournGames.jsp?id=762&round=1'
#             },
#             ...
#         ]
#     }
# }

DESCRIPTION

This class inherits from WWW::GoKGS::Scraper.

ATTRIBUTES

$URI = $tourn_info->base_uri

Defaults to http://www.gokgs.com/tournInfo.jsp. This attribute is read-only.

$UserAgent = $tourn_info->user_agent
$tourn_info->user_agent( LWP::UserAgent->new(...) )

Can be used to get or set an LWP::UserAgent object which is used to GET the requested resource. Defaults to the LWP::UserAgent object shared by Web::Scraper users ($Web::Scraper::UserAgent).

METHODS

$tourn_info->add_filter( 'description' => $filter )

Adds a tournament description filter. $filter is called with an HTML string. $filter can be either a filter class name or a subref. See Web::Scraper::Filter for details.

$tourn_info->add_filter(
    'description' => sub { 
        my $html = shift;
        $html =~ s/<.*?>//g; # strip HTML tags
        $html;
    }
);
$tourn_info->add_filter( 'links.rounds[].start_time' => $filter )
$tourn_info->add_filter( 'links.rounds[].end_time' => $filter )

Adds a round start/end time filter. $filter is called with a date string such as 2014-05-17T19:05Z. $filter can be either a filter class name or a subref. See Web::Scraper::Filter for details.

use Time::Piece qw/gmtime/;

$tourn_info->add_filter(
    'links.rounds[].start_time' => sub {
        my $start_time = shift; # => "2014-05-17T19:05Z"
        gmtime->strptime( $start_time, '%Y-%m-%dT%H:%MZ' );
    }
);
$HashRef = $tourn_info->scrape( URI->new(...) )
$HashRef = $tourn_info->scrape( HTTP::Response->new(...) )
$HashRef = $tourn_info->scrape( $html[, $base_uri] )
$HashRef = $tourn_info->scrape( \$html[, $base_uri] )
$HashRef = $tourn_info->query( id => $tourn_id )

SEE ALSO

WWW::GoKGS

AUTHOR

Ryo Anazawa (anazawa@cpan.org)

LICENSE

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.