The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# Part of get-flash-videos. See get_flash_videos for copyright.
package FlashVideo::Site::Ehow;

use strict;
use FlashVideo::Utils;
use URI::Escape;

sub find_video {
  my ($self, $browser) = @_;

  # Get the video ID
  my $video_id;
  if ($browser->content =~ /flashvars=(?:"|'|")id=(.*?)[ &]/) {
    $video_id = $1;
  }
  else {
    die "Couldn't extract video ID from page";
  }

  my $title;
  if ($browser->content =~ /(?:<div\ class="DetailHeader">)?
                            <h1\ class="(?:Heading1a|SubHeader)"[^>]*>(.*?)<\/h1>/x) {
    $title = $1;
  }

  if($video_id =~ /^http:/) {
    return $video_id, title_to_filename($title);
  }
  else {
    # Get the embedding page
    my $embed_url =
      "http://www.ehow.com/embedvars.aspx?isEhow=true&show_related=true&" .
      "from_url=" . uri_escape($browser->uri->as_string) .
      "&id=" . $video_id;

    $browser->get($embed_url);

    if ($browser->content =~ /&source=(http.*?flv)&/) {
      return uri_unescape($1), title_to_filename($title);
    }
    else {
      die "Couldn't extract Flash video URL from embed page";
    }
  }
}


1;