X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=lib%2FWWW%2FEZTV%2FShow.pm;h=75d995323d0d8fe46db156e7f09837cdbf813aa0;hb=HEAD;hp=7ab346b774085744ae58952b647cbfbbeb390640;hpb=17802f254b869064461d14e6a2fb015b59246a46;p=cascardo%2Fwww-eztv.git diff --git a/lib/WWW/EZTV/Show.pm b/lib/WWW/EZTV/Show.pm index 7ab346b..75d9953 100644 --- a/lib/WWW/EZTV/Show.pm +++ b/lib/WWW/EZTV/Show.pm @@ -1,5 +1,7 @@ package WWW::EZTV::Show; + use Moose; +use v5.10; with 'WWW::EZTV::UA'; use WWW::EZTV::Link; use WWW::EZTV::Episode; @@ -11,8 +13,8 @@ has name => is => 'ro', lazy => 1, default => \&_name; has year => is => 'ro', lazy => 1, default => \&_year; has url => is => 'ro', isa => 'Mojo::URL', required => 1; has status => is => 'ro', isa => 'Str', required => 1; -has rating => is => 'ro', isa => 'Int', default => sub {0}; -has episodes => +has rating => is => 'ro', isa => 'Num', default => sub {0}; +has episodes => is => 'ro', lazy => 1, builder => '_build_episodes', @@ -23,15 +25,17 @@ has episodes => sub _build_episodes { my $self = shift; - $self->get_response($self->url)->dom->find('table.forum_header_noborder tr[name="hover"]')->map(sub{ + $self->get_response($self->url)->dom->find('table tr[name="hover"]')->map(sub{ my $tr = shift; - my $a = $tr->at('td:nth-child(2) a'); + my $link = $tr->at('td:nth-child(2) a'); WWW::EZTV::Episode->new( - title => $a->attrs('title'), - url => $self->url->clone->path($a->attrs('href')), + title => $link->attr('alt'), + url => $self->url->clone->path($link->attr('href')), links => $tr->find('td:nth-child(3) a')->map(sub{ - WWW::EZTV::Link->new( url => shift->attrs('href') ) + WWW::EZTV::Link->new( url => $_[0]->attr('href') + || $_[0]->attr('data-url') + || $_[0]->attr('data-bx-magnet') ) }), released => $tr->at('td:nth-child(4)')->all_text, show => $self