projects
/
Biblio-Z3950.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Digital Public Library of America
[Biblio-Z3950.git]
/
server.pl
diff --git
a/server.pl
b/server.pl
index
8d7494e
..
8262c2a
100755
(executable)
--- a/
server.pl
+++ b/
server.pl
@@
-6,9
+6,11
@@
use strict;
use Net::Z3950::SimpleServer;
use Net::Z3950::OID;
use Data::Dumper;
use Net::Z3950::SimpleServer;
use Net::Z3950::OID;
use Data::Dumper;
-use COBISS;
+
#
use COBISS;
use Aleph;
use GoogleBooks;
use Aleph;
use GoogleBooks;
+use vuFind;
+use DPLA;
use Encode;
use Encode;
@@
-19,6
+21,8
@@
my $databases = {
'NSK10' => 'Aleph',
'ZAG01' => 'Aleph',
'GOOGLEBOOKS' => 'GoogleBooks',
'NSK10' => 'Aleph',
'ZAG01' => 'Aleph',
'GOOGLEBOOKS' => 'GoogleBooks',
+ 'HATHITRUST' => 'vuFind',
+ 'DPLA' => 'DPLA',
};
my $max_records = 3; # XXX configure this
};
my $max_records = 3; # XXX configure this
@@
-193,27
+197,32
@@
package Net::Z3950::RPN::And;
sub render {
my ($self,$usemap) = @_;
sub render {
my ($self,$usemap) = @_;
- return $self->[0]->render($usemap) . ' AND ' . $self->[1]->render($usemap);
+ return $self->[0]->render($usemap)
+ . ( $usemap->{RPN}->{And} || ' AND ' )
+ . $self->[1]->render($usemap);
}
package Net::Z3950::RPN::Or;
sub render {
my ($self,$usemap) = @_;
}
package Net::Z3950::RPN::Or;
sub render {
my ($self,$usemap) = @_;
- return $self->[0]->render($usemap) . ' OR ' . $self->[1]->render($usemap);
+ return $self->[0]->render($usemap)
+ . ( $usemap->{RPN}->{Or} || ' OR ' )
+ . $self->[1]->render($usemap);
}
package Net::Z3950::RPN::AndNot;
sub render {
my ($self,$usemap) = @_;
}
package Net::Z3950::RPN::AndNot;
sub render {
my ($self,$usemap) = @_;
- return $self->[0]->render($usemap) . ' AND NOT ' . $self->[1]->render($usemap);
+ return $self->[0]->render($usemap)
+ . ( $usemap->{RPN}->{Or} || ' AND NOT ' )
+ . $self->[1]->render($usemap);
}
package Net::Z3950::RPN::Term;
use Data::Dump qw(dump);
}
package Net::Z3950::RPN::Term;
use Data::Dump qw(dump);
-use COBISS;
sub render {
my ($self,$usemap) = @_;
sub render {
my ($self,$usemap) = @_;
@@
-262,14
+271,18
@@
warn "# usemap ", dump($usemap);
my $comp = $attributes->{6};
if ($prefix) {
if ( defined($comp) && ( $comp >= 2 ) ) {
my $comp = $attributes->{6};
if ($prefix) {
if ( defined($comp) && ( $comp >= 2 ) ) {
- $prefix = "all$prefix= ";
- }
- else {
- $prefix = "$prefix=";
+ $prefix = "all$prefix"; # FIXME?
}
}
}
}
- my $q = $prefix . $self->{term} . '*';
+ my $q;
+
+ if ( $usemap->{prefix_term} ) {
+ warn "# using custom prefix_term query";
+ $q = $usemap->{prefix_term}->( $prefix, $self->{term} );
+ } else {
+ $q = $prefix . $self->{term} . '*';
+ }
print "# q: $q\n";
return $q;
}
print "# q: $q\n";
return $q;
}