From: jason Date: Mon, 27 Feb 2012 22:41:16 +0000 (-0500) Subject: Added Content module for pointing to another Evergreen instance X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=d806ff5dec075d7cbf3fb15cb90960c78e362f56;p=evergreen%2Ftadl.git Added Content module for pointing to another Evergreen instance Needs tweaks to opensrf.xml, for example: OpenILS::WWW::AddedContent::Evergreen http://grpl.michiganevergreen.org/opac/extras/ac --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/AddedContent/Evergreen.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/AddedContent/Evergreen.pm new file mode 100644 index 0000000000..29083bbff1 --- /dev/null +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/AddedContent/Evergreen.pm @@ -0,0 +1,72 @@ +package OpenILS::WWW::AddedContent::Evergreen; +use strict; use warnings; +use OpenSRF::Utils::Logger qw/$logger/; +use OpenSRF::Utils::SettingsParser; +use OpenSRF::Utils::JSON; +use OpenSRF::EX qw/:try/; +use OpenILS::WWW::AddedContent; +use XML::LibXML; +use MIME::Base64; + +my $AC = 'OpenILS::WWW::AddedContent'; + + +sub new { + my( $class, $args ) = @_; + $class = ref $class || $class; + return bless($args, $class); +} + +sub base_url { + my $self = shift; + return $self->{base_url}; +} + + +# -------------------------------------------------------------------------- +sub jacket_small { + my( $self, $key ) = @_; + return $self->send_img( + $self->fetch_response('jacket/small', $key, 1)); +} + +sub jacket_medium { + my( $self, $key ) = @_; + return $self->send_img( + $self->fetch_response('jacket/medium', $key, 1)); + +} +sub jacket_large { + my( $self, $key ) = @_; + return $self->send_img( + $self->fetch_response('jacket/large', $key, 1)); +} + + +# -------------------------------------------------------------------------- + +sub send_img { + my($self, $response) = @_; + return { + content_type => $response->header('Content-type'), + content => $response->content, + binary => 1 + }; +} + +# returns the raw content returned from the URL fetch +sub fetch_content { + my( $self, $page, $key ) = @_; + return $self->fetch_response($page, $key)->content; +} + +# returns the HTTP response object from the URL fetch +sub fetch_response { + my( $self, $page, $key, $notype ) = @_; + my $url = $self->base_url . "/$page/$key"; + return $AC->get_url($url); +} + + + +1;