diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/gtk-straw-viewer | 23 | ||||
-rwxr-xr-x | bin/straw-viewer | 23 |
2 files changed, 23 insertions, 23 deletions
diff --git a/bin/gtk-straw-viewer b/bin/gtk-straw-viewer index bd21d26..4e181b5 100755 --- a/bin/gtk-straw-viewer +++ b/bin/gtk-straw-viewer @@ -3304,9 +3304,9 @@ sub comments_row_activated { if (defined($url) and $url =~ m{^https?://}) { # load more comments - #my $token = $feeds_liststore->get($iter, 2); + my $token = $feeds_liststore->get($iter, 2); $feeds_liststore->remove($iter); - my $results = $yv_obj->next_page($url); + my $results = $yv_obj->next_page_with_token($url, $token); if ($yv_utils->has_entries($results)) { display_comments($results); @@ -3382,6 +3382,7 @@ sub display_comments { my $url = $results->{url}; my $video_id = $results->{results}{videoId}; my $comments = $results->{results}{comments} // []; + my $continuation = $results->{results}{continuation} // []; foreach my $comment (@{$comments}) { @@ -3452,15 +3453,15 @@ sub display_comments { #~ } } - #~ if (exists $res->{nextPageToken}) { - #~ my $iter = $feeds_liststore->append; - #~ $feeds_liststore->set( - #~ $iter, - #~ 0 => "<big><b>LOAD MORE</b></big>", - #~ 1 => $url, - #~ 2 => $res->{nextPageToken}, - #~ ); - #~ } + if (defined $continuation) { + my $iter = $feeds_liststore->append; + $feeds_liststore->set( + $iter, + 0 => "<big><b>LOAD MORE</b></big>", + 1 => $url, + 2 => $continuation, + ); + } return 1; } diff --git a/bin/straw-viewer b/bin/straw-viewer index d31e9ed..f904e1d 100755 --- a/bin/straw-viewer +++ b/bin/straw-viewer @@ -2263,6 +2263,7 @@ sub general_options { my $callback = $args{sub}; my $results = $args{res}; my $info = $args{info}; + my $token = $args{token}; if (not defined($option)) { return; @@ -2272,26 +2273,22 @@ sub general_options { main_quit(0); } elsif ($option =~ /^(?:n|next)\z/ and defined $url) { - if (defined $info->{nextPageToken}) { - my $request = $yv_obj->next_page($url, $info->{nextPageToken}); + if (defined $token) { + my $request = $yv_obj->next_page_with_token($url, $token); $callback->($request); } else { - warn_last_page(); + my $request = $yv_obj->next_page($url); + $callback->($request); } } + elsif ($option =~ /^(?:b|back|p|prev|previous)\z/ and defined $url) { + my $request = $yv_obj->previous_page($url); + $callback->($request); + } elsif ($option =~ /^(?:R|refresh)\z/ and defined $url) { @{$results} = @{$yv_obj->_get_results($url)->{results}{items}}; } - elsif ($option =~ /^(?:b|back|p|prev|previous)\z/ and defined $url) { - if (defined $info->{prevPageToken}) { - my $request = $yv_obj->previous_page($url, $info->{prevPageToken}); - $callback->($request); - } - else { - warn_first_page(); - } - } elsif ($option eq 'login') { authenticate(); } @@ -2631,6 +2628,7 @@ sub print_comments { my $url = $results->{url}; my $comments = $results->{results}{comments} // []; + my $token = $results->{results}{continuation} // []; my $i = 0; foreach my $comment (@{$comments}) { @@ -2689,6 +2687,7 @@ sub print_comments { info => $results, mode => 'comments', args => [$videoID], + token => $token, ) ) { ## ok |