X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FWebService%2FStrike%2FTorrent.pm;h=517020850a82aa33b2d098ddf4466573ac2ae7e4;hb=d932afd835dfedc68511a0b80cc84d5fd0eac91d;hp=4268d793ec062f1d349c601d26464f43dbe71f11;hpb=fceb2d419996e35f394d758d9b090e520cf7a218;p=webservice-strike.git diff --git a/lib/WebService/Strike/Torrent.pm b/lib/WebService/Strike/Torrent.pm index 4268d79..5170208 100644 --- a/lib/WebService/Strike/Torrent.pm +++ b/lib/WebService/Strike/Torrent.pm @@ -9,6 +9,7 @@ our $VERSION = '0.003'; use Date::Parse qw/str2time/; use JSON::MaybeXS qw/decode_json/; +use MIME::Base64; use WebService::Strike; __PACKAGE__->mk_ro_accessors(qw/torrent_hash torrent_title torrent_category sub_category seeds leeches file_count size upload_date uploader_username file_info file_names file_lengths magnet_uri/); @@ -55,6 +56,16 @@ sub torrent{ } } +sub description{ + my ($self) = @_; + return $self->{description} if $self->{description}; + my $url = $WebService::Strike::BASE_URL . '/descriptions/?hash=' . $self->hash; + my $ht = WebService::Strike::_ht(); ## no critic (ProtectPrivate) + my $response = $ht->get($url); + return unless $response->{success}; + $self->{description} = decode_base64 $response->{content} +} + 1; __END__ @@ -83,6 +94,7 @@ WebService::Strike::Torrent - Class representing information about a torrent say $t->magnet; # magnet:?xt=urn:btih:B425907E5755031BDA4A8D1B6DCCACA97DA14C04&dn=Arch%20Linux%202015.01.01%20%28x86%2Fx64%29 my $tor = $t->torrent; # $torrent contains the torrent file contents $t->torrent('x.torrent'); # Download torrent file to x.torrent + say $t->description; # =head1 DESCRIPTION @@ -153,6 +165,11 @@ I<$filename>. Both forms return a true value for success and false for failure. +=item B + +The description of the torrent. This method sends an extra request to +Strike. Successful responses are cached. + =back =head1 SEE ALSO