diff options
author | trizen <trizen@protonmail.com> | 2020-02-15 08:39:16 +0200 |
---|---|---|
committer | trizen <trizen@protonmail.com> | 2020-02-15 08:39:16 +0200 |
commit | 0d4bcd362455bbbe245f3b1b8a5b7bc1f4ed2ac3 (patch) | |
tree | 2ca5403537ec7aadb40429ea2e95b3013e5bb842 /lib/WWW/StrawViewer | |
parent | d3c5fe3152d72c9ff8e926f5371b26441ba27e80 (diff) | |
download | fair-viewer-0d4bcd362455bbbe245f3b1b8a5b7bc1f4ed2ac3.tar.lz fair-viewer-0d4bcd362455bbbe245f3b1b8a5b7bc1f4ed2ac3.tar.xz fair-viewer-0d4bcd362455bbbe245f3b1b8a5b7bc1f4ed2ac3.zip |
Support input URLs
Diffstat (limited to 'lib/WWW/StrawViewer')
-rw-r--r-- | lib/WWW/StrawViewer/Utils.pm | 23 | ||||
-rw-r--r-- | lib/WWW/StrawViewer/Videos.pm | 5 |
2 files changed, 18 insertions, 10 deletions
diff --git a/lib/WWW/StrawViewer/Utils.pm b/lib/WWW/StrawViewer/Utils.pm index 062bbe1..f70afc0 100644 --- a/lib/WWW/StrawViewer/Utils.pm +++ b/lib/WWW/StrawViewer/Utils.pm @@ -228,12 +228,18 @@ sub has_entries { return scalar @{$result->{results}{comments}} > 0; } - if ($result->{results}{type} eq 'playlist') { + my $type = $result->{results}{type}//''; + + if ($type eq 'playlist') { return $result->{results}{videoCount} > 0; } } - scalar(@{$result->{results}}) > 0; + if (ref($result->{results}) eq 'ARRAY') { + return scalar(@{$result->{results}}) > 0; + } + + return 1; # maybe? #ref($result) eq 'HASH' and ($result->{results}{pageInfo}{totalResults} > 0); } @@ -530,7 +536,8 @@ sub get_channel_id { sub get_category_id { my ($self, $info) = @_; #$info->{snippet}{resourceId}{categoryId} // $info->{snippet}{categoryId}; - "unknown"; + #"unknown"; + $info->{genre} // 'Unknown'; } sub get_category_name { @@ -554,7 +561,9 @@ sub get_category_name { 29 => 'Nonprofits & Activism', }; - $categories->{$self->get_category_id($info) // ''} // 'Unknown'; + #$categories->{$self->get_category_id($info) // ''} // 'Unknown'; + + $info->{genre} // 'Unknown'; } sub get_publication_date { @@ -677,14 +686,12 @@ sub get_views_approx { sub get_likes { my ($self, $info) = @_; - #$info->{statistics}{likeCount}; - 0; + $info->{likeCount} // 0; } sub get_dislikes { my ($self, $info) = @_; - #$info->{statistics}{dislikeCount}; - 0; + $info->{dislikeCount} // 0; } sub get_comments { diff --git a/lib/WWW/StrawViewer/Videos.pm b/lib/WWW/StrawViewer/Videos.pm index 9df9ff3..11bf60b 100644 --- a/lib/WWW/StrawViewer/Videos.pm +++ b/lib/WWW/StrawViewer/Videos.pm @@ -186,8 +186,9 @@ When C<$part> is C<undef>, it defaults to I<snippet>. =cut sub video_details { - my ($self, $id, $part) = @_; - return $self->_get_results($self->_make_videos_url(id => $id, part => $part // 'snippet')); + my ($self, $id, $fields) = @_; + $fields //= $self->basic_video_info_fields; + $self->_get_results($self->_make_feed_url("videos/$id", fields => $fields)); } =head2 Return details |