diff options
Diffstat (limited to 'lib/WWW/StrawViewer/PlaylistItems.pm')
-rw-r--r-- | lib/WWW/StrawViewer/PlaylistItems.pm | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/lib/WWW/StrawViewer/PlaylistItems.pm b/lib/WWW/StrawViewer/PlaylistItems.pm deleted file mode 100644 index ab41a0d..0000000 --- a/lib/WWW/StrawViewer/PlaylistItems.pm +++ /dev/null @@ -1,146 +0,0 @@ -package WWW::StrawViewer::PlaylistItems; - -use utf8; -use 5.014; -use warnings; - -=head1 NAME - -WWW::StrawViewer::PlaylistItems - Manage playlist entries. - -=head1 SYNOPSIS - - use WWW::StrawViewer; - my $obj = WWW::StrawViewer->new(%opts); - my $videos = $obj->videos_from_playlistID($playlist_id); - -=head1 SUBROUTINES/METHODS - -=cut - -sub _make_playlistItems_url { - my ($self, %opts) = @_; - return - $self->_make_feed_url( - 'playlistItems', - pageToken => $self->page_token, - %opts - ); -} - -=head2 add_video_to_playlist($playlistID, $videoID; $position=1) - -Add a video to given playlist ID, at position 1 (by default) - -=cut - -sub add_video_to_playlist { - my ($self, $playlist_id, $video_id, $position) = @_; - - $self->get_access_token() // return; - - $playlist_id // return; - $video_id // return; - $position //= 0; - - my $hash = { - "snippet" => { - "playlistId" => $playlist_id, - "resourceId" => { - "videoId" => $video_id, - "kind" => "youtube#video" - }, - "position" => $position, - } - }; - - my $url = $self->_make_playlistItems_url(pageToken => undef); - $self->post_as_json($url, $hash); -} - -=head2 favorite_video($videoID) - -Favorite a video. Returns true on success. - -=cut - -sub favorite_video { - my ($self, $video_id) = @_; - $video_id // return; - $self->get_access_token() // return; - my $playlist_id = $self->get_playlist_id('favorites', mine => 'true') // return; - $self->add_video_to_playlist($playlist_id, $video_id); -} - -=head2 videos_from_playlist_id($playlist_id) - -Get videos from a specific playlistID. - -=cut - -sub videos_from_playlist_id { - my ($self, $id) = @_; - $self->_get_results($self->_make_feed_url("playlists/$id")); -} - -=head2 favorites($channel_id) - -=head2 uploads($channel_id) - -=head2 likes($channel_id) - -Get the favorites, uploads and likes for a given channel ID. - -=cut - -=head2 favorites_from_username($username) - -=head2 uploads_from_username($username) - -=head2 likes_from_username($username) - -Get the favorites, uploads and likes for a given YouTube username. - -=cut - -{ - no strict 'refs'; - foreach my $name (qw(favorites uploads likes)) { - - *{__PACKAGE__ . '::' . $name . '_from_username'} = sub { - my ($self, $username) = @_; - $self->videos_from_username($username); - }; - - *{__PACKAGE__ . '::' . $name} = sub { - my ($self, $channel_id) = @_; - $self->videos_from_channel_id($channel_id); - }; - } -} - -=head1 AUTHOR - -Trizen, C<< <echo dHJpemVuQHByb3Rvbm1haWwuY29tCg== | base64 -d> >> - - -=head1 SUPPORT - -You can find documentation for this module with the perldoc command. - - perldoc WWW::StrawViewer::PlaylistItems - - -=head1 LICENSE AND COPYRIGHT - -Copyright 2013-2015 Trizen. - -This program is free software; you can redistribute it and/or modify it -under the terms of either: the GNU General Public License as published -by the Free Software Foundation; or the Artistic License. - -See L<http://dev.perl.org/licenses/> for more information. - -=cut - -1; # End of WWW::StrawViewer::PlaylistItems |