From e2e8475d2553d8486b1c57df092a4e581da27ee2 Mon Sep 17 00:00:00 2001 From: Joe Atzberger Date: Mon, 21 Apr 2008 16:22:31 -0500 Subject: [PATCH] C4/External/BakerTaylor.pm - Back end for B&T content. Signed-off-by: Joshua Ferraro --- C4/External/BakerTaylor.pm | 45 ++++++++++++++------------------------ 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/C4/External/BakerTaylor.pm b/C4/External/BakerTaylor.pm index ce77e6fc92..e992df585d 100644 --- a/C4/External/BakerTaylor.pm +++ b/C4/External/BakerTaylor.pm @@ -19,7 +19,7 @@ package C4::External::BakerTaylor; use XML::Simple; use LWP::Simple; -use LWP::UserAgent; +# use LWP::UserAgent; use HTTP::Request::Common; use C4::Context; use C4::Debug; @@ -51,19 +51,30 @@ sub initialize { #"Mozilla/4.76 [en] (Win98; U)", # if for some reason you want to go stealth, you might prefer this } -sub image_url ($) { +sub image_url (;$) { ($user and $pass) or return undef; - return $image_url . (@_ ? shift : ''); + my $isbn = (@_ ? shift : ''); + $isbn =~ s/(p|-)//g; # sanitize + return $image_url . $isbn; } -sub link_url ($) { +sub link_url (;$) { + my $isbn = (@_ ? shift : ''); + $isbn =~ s/(p|-)//g; # sanitize $link_url or return undef; - return $link_url . (@_ ? shift : ''); + return $link_url . $isbn; +} +sub content_cafe_url ($) { + ($user and $pass) or return undef; + my $isbn = (@_ ? shift : ''); + $isbn =~ s/(p|-)//g; # sanitize + return "http://contentcafe2.btol.com/ContentCafeClient/ContentCafe.aspx?UserID=$user&Password=$pass&Options=Y&ItemKey=$isbn"; } sub http_jacket_link ($) { my $isbn = shift or return undef; + $isbn =~ s/(p|-)//g; # sanitize my $image = availability($isbn); my $alt = "Buy this book"; - $image and $image = qq(Buy this book); + $image and $image = qq($alt); my $link = &link_url($isbn); unless ($link) {return $image || '';} return sprintf qq(%s),$link,($image||$alt); @@ -87,28 +98,6 @@ sub availability ($) { return ($avail and $avail !~ /^false$/i) ? &image_url($isbn) : 0; } -sub content_cafe ($) { - my $isbn = shift or return undef; - my $ua = LWP::UserAgent->new( - agent => $agent, - keep_alive => 1, - env_proxy => 1, - ); - my $available = 1; - my $uri = "http://contentcafe2.btol.com/ContentCafe/InventoryAvailability.asmx/CheckInventory?UserID=$user&Password=$pass&Value=$isbn"; - my $req = HTTP::Request->new(GET => $uri); - $req->header ( - 'Accept' => 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*', - 'Accept-Charset' => 'iso-8859-1,*,utf-8', - 'Accept-Language' => 'en-US' ); - my $res = $ua->request($req); - my $content = $res->content(); - if ($content =~ /This book is temporarily unavailable/) { - return undef; - } - return $available; -} - 1; __END__ -- 2.39.5