|
Lines 42-47
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
Link Here
|
| 42 |
|
42 |
|
| 43 |
my $ua = LWP::UserAgent->new; |
43 |
my $ua = LWP::UserAgent->new; |
| 44 |
|
44 |
|
|
|
45 |
# See http://documentation.abes.fr/aideidrefdeveloppeur/index.html#MicroWebBiblio |
| 45 |
my $base = 'http://www.idref.fr/services/biblio/'; |
46 |
my $base = 'http://www.idref.fr/services/biblio/'; |
| 46 |
my $unimarc3 = $cgi->param('unimarc3'); |
47 |
my $unimarc3 = $cgi->param('unimarc3'); |
| 47 |
|
48 |
|
|
Lines 60-95
if ( not $response->is_success) {
Link Here
|
| 60 |
my $content = Encode::decode("utf8", $response->content); |
61 |
my $content = Encode::decode("utf8", $response->content); |
| 61 |
my $json = from_json( $content ); |
62 |
my $json = from_json( $content ); |
| 62 |
my $r; |
63 |
my $r; |
| 63 |
my $role_name; |
|
|
| 64 |
my @unimarc3; |
| 65 |
my @results = ref $json->{sudoc}{result} eq "ARRAY" |
64 |
my @results = ref $json->{sudoc}{result} eq "ARRAY" |
| 66 |
? @{ $json->{sudoc}{result} } |
65 |
? @{ $json->{sudoc}{result} } |
| 67 |
: ($json->{sudoc}{result}); |
66 |
: ($json->{sudoc}{result}); |
| 68 |
|
67 |
|
| 69 |
for my $role_node ( @results ) { |
68 |
for my $result (@results) { |
| 70 |
while ( my ( $k, $v ) = each %$role_node ) { |
69 |
my $role_node = $result->{'role'}; |
| 71 |
next unless $k eq "role"; |
70 |
my @roles = |
| 72 |
my $role_name; |
71 |
ref $role_node eq "ARRAY" |
| 73 |
my $count = 0; |
72 |
? @$role_node |
| 74 |
my $role_data = {}; |
73 |
: ($role_node); |
| 75 |
my @nodes = ref $v eq "ARRAY" |
74 |
for my $role (@roles) { |
| 76 |
? @$v |
75 |
my @docs = ref $role->{doc} eq "ARRAY" |
| 77 |
: ($v); |
76 |
? @{ $role->{doc} } |
| 78 |
for my $node ( @nodes ) { |
77 |
: $role->{doc}; |
| 79 |
while ( ( $k, $v ) = each %$node ) { |
78 |
push @$r, |
| 80 |
if ( $k eq 'roleName' ) { |
79 |
{ |
| 81 |
$role_name = $v; |
80 |
role_name => $role->{roleName}, |
| 82 |
$role_data->{role_name} = $role_name; |
81 |
count => $role->{count}, |
| 83 |
} |
82 |
docs => \@docs, |
| 84 |
elsif ( $k eq 'count' ) { |
83 |
}; |
| 85 |
$role_data->{count} = $v; |
|
|
| 86 |
} |
| 87 |
elsif ( $k eq 'doc' ) { |
| 88 |
push @{ $role_data->{docs} }, $v; |
| 89 |
} |
| 90 |
} |
| 91 |
} |
| 92 |
push @$r, $role_data; |
| 93 |
} |
84 |
} |
| 94 |
} |
85 |
} |
| 95 |
|
86 |
|
| 96 |
- |
|
|