← Index
NYTProf Performance Profile   « block view • line view • sub view »
For /usr/share/koha/opac/cgi-bin/opac/opac-search.pl
  Run on Tue Oct 15 11:58:52 2013
Reported on Tue Oct 15 12:02:24 2013

Filename/usr/share/koha/lib/C4/Search/PazPar2.pm
StatementsExecuted 16 statements in 776µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11137µs47µsC4::Search::PazPar2::::BEGIN@20C4::Search::PazPar2::BEGIN@20
11124µs102µsC4::Search::PazPar2::::BEGIN@26C4::Search::PazPar2::BEGIN@26
11123µs23µsC4::Search::PazPar2::::BEGIN@23C4::Search::PazPar2::BEGIN@23
11112µs12µsC4::Search::PazPar2::::BEGIN@25C4::Search::PazPar2::BEGIN@25
11112µs12µsC4::Search::PazPar2::::BEGIN@24C4::Search::PazPar2::BEGIN@24
0000s0sC4::Search::PazPar2::::initC4::Search::PazPar2::init
0000s0sC4::Search::PazPar2::::newC4::Search::PazPar2::new
0000s0sC4::Search::PazPar2::::recordC4::Search::PazPar2::record
0000s0sC4::Search::PazPar2::::searchC4::Search::PazPar2::search
0000s0sC4::Search::PazPar2::::showC4::Search::PazPar2::show
0000s0sC4::Search::PazPar2::::statC4::Search::PazPar2::stat
0000s0sC4::Search::PazPar2::::termlistC4::Search::PazPar2::termlist
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package C4::Search::PazPar2;
2
3# Copyright (C) 2007 LibLime
4#
5# This file is part of Koha.
6#
7# Koha is free software; you can redistribute it and/or modify it under the
8# terms of the GNU General Public License as published by the Free Software
9# Foundation; either version 2 of the License, or (at your option) any later
10# version.
11#
12# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License along
17# with Koha; if not, write to the Free Software Foundation, Inc.,
18# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20352µs257µs
# spent 47µs (37+10) within C4::Search::PazPar2::BEGIN@20 which was called: # once (37µs+10µs) by C4::Search::BEGIN@25 at line 20
use strict;
# spent 47µs making 1 call to C4::Search::PazPar2::BEGIN@20 # spent 10µs making 1 call to strict::import
21#use warnings; FIXME - Bug 2505
22
23343µs123µs
# spent 23µs within C4::Search::PazPar2::BEGIN@23 which was called: # once (23µs+0s) by C4::Search::BEGIN@25 at line 23
use LWP::UserAgent;
# spent 23µs making 1 call to C4::Search::PazPar2::BEGIN@23
24334µs112µs
# spent 12µs within C4::Search::PazPar2::BEGIN@24 which was called: # once (12µs+0s) by C4::Search::BEGIN@25 at line 24
use URI;
# spent 12µs making 1 call to C4::Search::PazPar2::BEGIN@24
25330µs112µs
# spent 12µs within C4::Search::PazPar2::BEGIN@25 which was called: # once (12µs+0s) by C4::Search::BEGIN@25 at line 25
use URI::QueryParam;
# spent 12µs making 1 call to C4::Search::PazPar2::BEGIN@25
263614µs2127µs
# spent 102µs (24+77) within C4::Search::PazPar2::BEGIN@26 which was called: # once (24µs+77µs) by C4::Search::BEGIN@25 at line 26
use XML::Simple;
# spent 102µs making 1 call to C4::Search::PazPar2::BEGIN@26 # spent 26µs making 1 call to XML::Simple::import
27
28=head1 NAME
29
- -
39=head1 DESCRIPTION
40
- -
43sub new {
44 my $class = shift;
45 my $endpoint = shift;
46
47 my $self = {};
48 $self->{'endpoint'} = $endpoint;
49 $self->{'session'} = '';
50 $self->{'ua'} = LWP::UserAgent->new;
51 bless $self, $class;
52
53 return $self;
54}
55
56sub init {
57 my $self = shift;
58
59 my $uri = URI->new($self->{'endpoint'});
60 $uri->query_param(command => 'init');
61 my $response = $self->{'ua'}->get($uri);
62 if ($response->is_success) {
63 my $message = XMLin($response->content);
64 if ($message->{'status'} eq 'OK') {
65 $self->{'session'} = $message->{'session'};
66 }
67 } else {
68 warn $response->status_line;
69 }
70}
71
72sub search {
73 my $self = shift;
74 my $query = shift;
75
76 my $uri = URI->new($self->{'endpoint'});
77 $uri->query_param(command => 'search');
78 $uri->query_param(session => $self->{'session'});
79 $uri->query_param(query => $query);
80 my $response = $self->{'ua'}->get($uri);
81 if ($response->is_success) {
82 #print $response->content, "\n";
83 } else {
84 warn $response->status_line;
85 }
86
87}
88
89sub stat {
90 my $self = shift;
91
92 my $uri = URI->new($self->{'endpoint'});
93 $uri->query_param(command => 'stat');
94 $uri->query_param(session => $self->{'session'});
95 my $response = $self->{'ua'}->get($uri);
96 if ($response->is_success) {
97 return $response->content;
98 } else {
99 warn $response->status_line;
100 return;
101 }
102}
103
104sub show {
105 my $self = shift;
106 my $start = shift;
107 my $count = shift;
108 my $sort = shift;
109
110 my $uri = URI->new($self->{'endpoint'});
111 $uri->query_param(command => 'show');
112 $uri->query_param(start => $start);
113 $uri->query_param(num => $count);
114 $uri->query_param(block => 1);
115 $uri->query_param(session => $self->{'session'});
116 $uri->query_param(sort => $sort);
117 my $response = $self->{'ua'}->get($uri);
118 if ($response->is_success) {
119 return $response->content;
120 } else {
121 warn $response->status_line;
122 return;
123 }
124
125}
126
127sub record {
128 my $self = shift;
129 my $id = shift;
130 my $offset = shift;
131
132 my $uri = URI->new($self->{'endpoint'});
133 $uri->query_param(command => 'record');
134 $uri->query_param(id => $id);
135 $uri->query_param(offset => $offset);
136 $uri->query_param(binary => 1);
137 $uri->query_param(session => $self->{'session'});
138 my $response = $self->{'ua'}->get($uri);
139 if ($response->is_success) {
140 return $response->content;
141 } else {
142 warn $response->status_line;
143 return;
144 }
145}
146
147sub termlist {
148 my $self = shift;
149 my $name = shift;
150
151 my $uri = URI->new($self->{'endpoint'});
152 $uri->query_param(command => 'termlist');
153 $uri->query_param(name => $name);
154 $uri->query_param(session => $self->{'session'});
155 my $response = $self->{'ua'}->get($uri);
156 if ($response->is_success) {
157 return $response->content;
158 } else {
159 warn $response->status_line;
160 return;
161 }
162
163}
164
16513µs1;
166
167=head1 AUTHOR
168
- -