aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/WWW/FairViewer.pm42
-rw-r--r--lib/WWW/FairViewer/Utils.pm6
2 files changed, 23 insertions, 25 deletions
diff --git a/lib/WWW/FairViewer.pm b/lib/WWW/FairViewer.pm
index e8040d4..47e87c4 100644
--- a/lib/WWW/FairViewer.pm
+++ b/lib/WWW/FairViewer.pm
@@ -1001,42 +1001,38 @@ sub post_as_json {
sub next_page_with_token {
my ($self, $url, $token) = @_;
- my $pt_url = (
- $url =~ s{[?&]continuation=\K([^&]+)}{$token}
- ? $url
- : $self->_append_url_args($url, continuation => $token)
- );
-
- my $res = $self->_get_results($pt_url);
- $res->{url} = $pt_url;
+ if (not $url =~ s{[?&]continuation=\K([^&]+)}{$token}) {
+ $url = $self->_append_url_args($url, continuation => $token);
+ }
+
+ my $res = $self->_get_results($url);
+ $res->{url} = $url;
return $res;
}
sub next_page {
- my ($self, $url) = @_;
+ my ($self, $url, $token) = @_;
- my $pt_url = (
- $url =~ s{[?&]page=\K(\d+)}{$1+1}e
- ? $url
- : $self->_append_url_args($url, page => 2)
- );
+ if ($token) {
+ return $self->next_page_with_token($url, $token);
+ }
+
+ if (not $url =~ s{[?&]page=\K(\d+)}{$1+1}e) {
+ $url = $self->_append_url_args($url, page => 2);
+ }
- my $res = $self->_get_results($pt_url);
- $res->{url} = $pt_url;
+ my $res = $self->_get_results($url);
+ $res->{url} = $url;
return $res;
}
sub previous_page {
my ($self, $url) = @_;
- my $pt_url = (
- $url =~ s{[?&]page=\K(\d+)}{($1 > 2) ? ($1-1) : 1}e
- ? $url
- : $url
- );
+ $url =~ s{[?&]page=\K(\d+)}{($1 > 2) ? ($1-1) : 1}e;
- my $res = $self->_get_results($pt_url);
- $res->{url} = $pt_url;
+ my $res = $self->_get_results($url);
+ $res->{url} = $url;
return $res;
}
diff --git a/lib/WWW/FairViewer/Utils.pm b/lib/WWW/FairViewer/Utils.pm
index 4e614f8..5ca1106 100644
--- a/lib/WWW/FairViewer/Utils.pm
+++ b/lib/WWW/FairViewer/Utils.pm
@@ -224,8 +224,10 @@ sub has_entries {
if (ref($result->{results}) eq 'HASH') {
- if (exists $result->{results}{comments}) {
- return scalar @{$result->{results}{comments}} > 0;
+ foreach my $type(qw(comments videos playlists)) {
+ if (exists $result->{results}{$type}) {
+ return scalar @{$result->{results}{$type}} > 0;
+ }
}
my $type = $result->{results}{type}//'';