The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.