[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha/acqui.simple marcimport.pl,1.6.2.18,1.6.2.19
From: |
Alan Millar |
Subject: |
[Koha-cvs] CVS: koha/acqui.simple marcimport.pl,1.6.2.18,1.6.2.19 |
Date: |
Wed, 12 Jun 2002 15:11:16 -0700 |
Update of /cvsroot/koha/koha/acqui.simple
In directory usw-pr-cvs1:/tmp/cvs-serv7765/acqui.simple
Modified Files:
Tag: rel-1-2
marcimport.pl
Log Message:
Streamline z3950 search results
Index: marcimport.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui.simple/marcimport.pl,v
retrieving revision 1.6.2.18
retrieving revision 1.6.2.19
diff -C2 -r1.6.2.18 -r1.6.2.19
*** marcimport.pl 12 Jun 2002 20:25:35 -0000 1.6.2.18
--- marcimport.pl 12 Jun 2002 22:11:14 -0000 1.6.2.19
***************
*** 196,200 ****
my $qcontrolnumber=$input->param('controlnumber');
! # See if a particular result record was specified
if ($qisbn || $qissn || $qlccn || $qcontrolnumber) {
print "<a href=$ENV{'SCRIPT_NAME'}>New File</a><hr>\n";
--- 196,200 ----
my $qcontrolnumber=$input->param('controlnumber');
! # See if a particular result item was specified
if ($qisbn || $qissn || $qlccn || $qcontrolnumber) {
print "<a href=$ENV{'SCRIPT_NAME'}>New File</a><hr>\n";
***************
*** 345,382 ****
Full MARC Record available at bottom
<form method=post>
! <table border=1>
! <tr><td>Title</td><td>$titleinput</td></tr>
! <tr><td>Subtitle</td><td>$subtitleinput</td></tr>
! <tr><td>Author</td><td>$authorinput</td></tr>
! <tr><td>Additional Authors</td><td>$additionalauthorsinput</td></tr>
! <tr><td>Illustrator</td><td>$illustratorinput</td></tr>
! <tr><td>Copyright</td><td>$copyrightinput</td></tr>
! <tr><td>Series Title</td><td>$seriestitleinput</td></tr>
! <tr><td>Volume</td><td>$volumeinput</td></tr>
! <tr><td>Number</td><td>$numberinput</td></tr>
! <tr><td>Volume Date</td><td>$volumedateinput</td></tr>
! <tr><td>Volume Description</td><td>$volumeddescinput</td></tr>
! <tr><td>Subject</td><td>$subjectinput</td></tr>
! <tr><td>Notes</td><td>$noteinput</td></tr>
! <tr><td>Item Type</td><td><select
name=itemtype>$itemtypeselect</select></td></tr>
! <tr><td>ISBN</td><td>$isbninput</td></tr>
! <tr><td>ISSN</td><td>$issninput</td></tr>
! <tr><td>LCCN</td><td>$lccninput</td></tr>
! <tr><td>Dewey</td><td>$deweyinput</td></tr>
! <tr><td>Subclass</td><td>$subclassinput</td></tr>
! <tr><td>Publication Year</td><td>$pubyearinput</td></tr>
! <tr><td>Publisher</td><td>$publisherinput</td></tr>
! <tr><td>Place</td><td>$placeinput</td></tr>
! <tr><td>Pages</td><td>$pagesinput</td></tr>
! <tr><td>Size</td><td>$sizeinput</td></tr>
! </table>
! <input type=submit>
! <input type=hidden name=insertnewrecord value=1>
! $fileinput
! $marcinput
! $origisbn
! $origissn
! $origlccn
! $origcontrolnumber
</form>
$marctext
--- 345,382 ----
Full MARC Record available at bottom
<form method=post>
! <table border=1>
! <tr><td>Title</td><td>$titleinput</td></tr>
! <tr><td>Subtitle</td><td>$subtitleinput</td></tr>
! <tr><td>Author</td><td>$authorinput</td></tr>
! <tr><td>Additional
Authors</td><td>$additionalauthorsinput</td></tr>
! <tr><td>Illustrator</td><td>$illustratorinput</td></tr>
! <tr><td>Copyright</td><td>$copyrightinput</td></tr>
! <tr><td>Series Title</td><td>$seriestitleinput</td></tr>
! <tr><td>Volume</td><td>$volumeinput</td></tr>
! <tr><td>Number</td><td>$numberinput</td></tr>
! <tr><td>Volume Date</td><td>$volumedateinput</td></tr>
! <tr><td>Volume Description</td><td>$volumeddescinput</td></tr>
! <tr><td>Subject</td><td>$subjectinput</td></tr>
! <tr><td>Notes</td><td>$noteinput</td></tr>
! <tr><td>Item Type</td><td><select
name=itemtype>$itemtypeselect</select></td></tr>
! <tr><td>ISBN</td><td>$isbninput</td></tr>
! <tr><td>ISSN</td><td>$issninput</td></tr>
! <tr><td>LCCN</td><td>$lccninput</td></tr>
! <tr><td>Dewey</td><td>$deweyinput</td></tr>
! <tr><td>Subclass</td><td>$subclassinput</td></tr>
! <tr><td>Publication Year</td><td>$pubyearinput</td></tr>
! <tr><td>Publisher</td><td>$publisherinput</td></tr>
! <tr><td>Place</td><td>$placeinput</td></tr>
! <tr><td>Pages</td><td>$pagesinput</td></tr>
! <tr><td>Size</td><td>$sizeinput</td></tr>
! </table>
! <input type=submit>
! <input type=hidden name=insertnewrecord value=1>
! $fileinput
! $marcinput
! $origisbn
! $origissn
! $origlccn
! $origcontrolnumber
</form>
$marctext
***************
*** 384,393 ****
} # foreach record
} else {
! # No result file specified, list results
! ListSearchResults($dbh,$input);
} # if
} # sub ProcessFile
! sub ListSearchResults {
use strict;
--- 384,393 ----
} # foreach record
} else {
! # No result item specified, list results
! ListFileRecords($dbh,$input);
} # if
} # sub ProcessFile
! sub ListFileRecords {
use strict;
***************
*** 399,407 ****
my (
$field,
);
- my $data;
- my $name;
my $z3950=0;
my $recordsource;
--- 399,411 ----
my (
+ $sth, $sti,
$field,
+ $data, # records in MARC file format
+ $name,
+ $srvid,
+ %servernames,
+ $serverdb,
);
my $z3950=0;
my $recordsource;
***************
*** 409,413 ****
my ($numrecords,$resultsid,$data,$startdate,$enddate);
! # File can be results of z3950 search or uploaded MARC data
# if z3950 results
--- 413,417 ----
my ($numrecords,$resultsid,$data,$startdate,$enddate);
! # File can be z3950 search query or uploaded MARC data
# if z3950 results
***************
*** 417,421 ****
} else {
# This is a Marc upload
! my $sth=$dbh->prepare("select marc,name from uploadedmarc where
id=$file");
$sth->execute;
($data, $name) = $sth->fetchrow;
--- 421,425 ----
} else {
# This is a Marc upload
! $sth=$dbh->prepare("select marc,name from uploadedmarc where
id=$file");
$sth->execute;
($data, $name) = $sth->fetchrow;
***************
*** 438,479 ****
# This is a z3950 search
! my $id=$1; # search results id number
! my $sth=$dbh->prepare("select servers from z3950queue where
id=$id");
! $sth->execute;
! my ($servers) = $sth->fetchrow;
my $serverstring;
my $starttimer=time();
! # loop through all servers in search request
! foreach $serverstring (split(/\s+/, $servers)) {
! my ($name, $server, $database, $auth) = split(/\//,
$serverstring, 4);
! if ($name eq 'MAN') {
! print "$server/$database<br>\n";
! } else {
! my $sti=$dbh->prepare("select name from
! z3950servers where id=$name");
! $sti->execute;
! my ($longname)=$sti->fetchrow;
! print "<a name=SERVER-$name></a>\n";
! if ($longname) {
! print "$longname \n";
! } else {
! print "$server/$database \n";
! }
! }
! my $q_server=$dbh->quote($serverstring);
! my $startrecord=$input->param("ST-$name");
($startrecord) || ($startrecord='0');
- my $sti=$dbh->prepare("
- select numrecords,id,results,startdate,enddate
- from z3950results
- where queryid=$id and server=$q_server");
- $sti->execute;
- ($numrecords,$resultsid,$data,$startdate,$enddate) =
$sti->fetchrow;
my $serverplaceholder='';
foreach ($input->param) {
(next) unless (/ST-(.+)/);
my $serverid=$1;
! (next) if ($serverid eq $name);
my $place=$input->param("ST-$serverid");
$serverplaceholder.="\&ST-$serverid=$place";
--- 442,475 ----
# This is a z3950 search
! my $id=$1; # search query id number
my $serverstring;
my $starttimer=time();
! $sth=$dbh->prepare("
! select
z3950results.numrecords,z3950results.id,z3950results.results,
! z3950results.startdate,z3950results.enddate,server
! from z3950queue left outer join z3950results
! on z3950queue.id=z3950results.queryid
! where z3950queue.id=?
! order by server
! ");
! $sth->execute($id);
! if ( $sth->rows ) {
! # loop through all servers in search results
! while ( ($numrecords,$resultsid,$data,
! $startdate,$enddate,$serverstring) = $sth->fetchrow ) {
! my ($srvid, $server, $database, $auth) = split(/\//,
$serverstring, 4);
! #print "server=$serverstring\n";
! if ( $server ) {
! print "<a name=SERVER-$srvid></a> " .
! &z3950servername($dbh,$srvid,"$server/$database") .
"\n";
! } # if $server
! my $startrecord=$input->param("ST-$srvid");
($startrecord) || ($startrecord='0');
my $serverplaceholder='';
foreach ($input->param) {
(next) unless (/ST-(.+)/);
my $serverid=$1;
! (next) if ($serverid eq $srvid);
my $place=$input->param("ST-$serverid");
$serverplaceholder.="\&ST-$serverid=$place";
***************
*** 483,487 ****
my $next='';
if ($startrecord>0) {
! $previous="<a
href=".$ENV{'SCRIPT_NAME'}."?file=Z-$id&menu=z3950$serverplaceholder\&ST-$name=".($startrecord-10)."#SERVER-$name>Previous</a>";
}
my $highest;
--- 479,483 ----
my $next='';
if ($startrecord>0) {
! $previous="<a
href=".$ENV{'SCRIPT_NAME'}."?file=Z-$id&menu=z3950$serverplaceholder\&ST-$srvid=".($startrecord-10)."#SERVER-$srvid>Previous</a>";
}
my $highest;
***************
*** 489,505 ****
($highest>$numrecords) && ($highest=$numrecords);
if ($numrecords>$startrecord+10) {
! $next="<a
href=".$ENV{'SCRIPT_NAME'}."?file=Z-$id&menu=z3950$serverplaceholder\&ST-$name=$highest#SERVER-$name>Next</a>";
}
print "<font size=-1>[Viewing ".($startrecord+1)." to
".$highest." of $numrecords records] $previous | $next </font><br>\n";
} else {
print "<br>\n";
}
print "<ul>\n";
- my $stj=$dbh->prepare("update z3950results
- set highestseen=? where id=?");
- $stj->execute($startrecord+10,$resultsid);
! if ($sti->rows == 0) {
! print "pending...";
} elsif ($enddate == 0) {
my $now=time();
--- 485,501 ----
($highest>$numrecords) && ($highest=$numrecords);
if ($numrecords>$startrecord+10) {
! $next="<a
href=".$ENV{'SCRIPT_NAME'}."?file=Z-$id&menu=z3950$serverplaceholder\&ST-$srvid=$highest#SERVER-$srvid>Next</a>";
}
print "<font size=-1>[Viewing ".($startrecord+1)." to
".$highest." of $numrecords records] $previous | $next </font><br>\n";
+ my $stj=$dbh->prepare("update z3950results
+ set highestseen=? where id=?");
+ $stj->execute($startrecord+10,$resultsid);
} else {
print "<br>\n";
}
print "<ul>\n";
! if (! $server ) {
! print "<font color=red>Search still pending...</font>";
} elsif ($enddate == 0) {
my $now=time();
***************
*** 513,530 ****
print "<font color=red>processing... ($elapsedtime)</font>";
} elsif ($numrecords) {
! my $splitchar=chr(29);
! my @records=split(/$splitchar/, $data);
! $data='';
my $i;
for ($i=$startrecord; $i<$startrecord+10; $i++) {
! $data.=$records[$i].$splitchar;
! }
! @records=parsemarcfileformat($data);
! my $counter=0;
! foreach $record (@records) {
!
! &PrintResultRecordLink($record,$resultsid);
!
! } # foreach record
print "<p>\n";
} else {
--- 509,519 ----
print "<font color=red>processing... ($elapsedtime)</font>";
} elsif ($numrecords) {
! my @records=parsemarcfileformat($data);
my $i;
for ($i=$startrecord; $i<$startrecord+10; $i++) {
! if ( $records[$i] ) {
! &PrintResultRecordLink($records[$i],$resultsid);
! } # if record
! } # for records
print "<p>\n";
} else {
***************
*** 532,538 ****
}
print "</ul>\n";
! }
my $elapsed=time()-$starttimer;
print "<hr>It took $elapsed seconds to process this page.\n";
} else {
# This is an uploaded Marc record
--- 521,530 ----
}
print "</ul>\n";
! } # foreach server
my $elapsed=time()-$starttimer;
print "<hr>It took $elapsed seconds to process this page.\n";
+ } else {
+ print "<b>No results found for query $id</b>/n";
+ } # if rows
} else {
# This is an uploaded Marc record
***************
*** 546,550 ****
} # if z3950 or marc upload
print "</td></tr></table>\n";
! } # sub ListSearchResults
sub PrintResultRecordLink {
--- 538,567 ----
} # if z3950 or marc upload
print "</td></tr></table>\n";
! } # sub ListFileRecords
!
! #--------------
! sub z3950servername {
! # inputs
! my (
! $dbh,
! $srvid, # server id number
! $default,
! )address@hidden;
! # return
! my $longname;
! #----
!
! my $sti=$dbh->prepare("select name
! from z3950servers
! where id=?");
! $sti->execute($srvid);
! if ( ! $sti->err ) {
! ($longname)=$sti->fetchrow;
! }
! if (! $longname) {
! $longname="$default";
! }
! return $longname;
! } # sub z3950servername
sub PrintResultRecordLink {
***************
*** 637,641 ****
# Yes, so keep the value
if ( ref($field->{'subfields'}->{$subfield} ) eq 'ARRAY' ) {
! # if it was an array, just keep first element.
$bib->{$fieldname}=$field->{'subfields'}->{$subfield}[0];
} else {
--- 654,658 ----
# Yes, so keep the value
if ( ref($field->{'subfields'}->{$subfield} ) eq 'ARRAY' ) {
! # if it was an array, just keep first element.
$bib->{$fieldname}=$field->{'subfields'}->{$subfield}[0];
} else {
***************
*** 770,774 ****
$elapsedtime,
$resultstatus, $statuscolor,
! $id, $term, $type, $done, $numrecords, $length,
$startdate, $enddate, $servers,
$record,$bib,$title,
--- 787,791 ----
$elapsedtime,
$resultstatus, $statuscolor,
! $id, $term, $type, $done,
$startdate, $enddate, $servers,
$record,$bib,$title,
***************
*** 783,792 ****
# Check queued queries
$sth=$dbh->prepare("select id,term,type,done,
! numrecords,length(results),startdate,enddate,servers
from z3950queue
order by id desc
limit 20 ");
$sth->execute;
! while ( ($id, $term, $type, $done, $numrecords, $length,
$startdate, $enddate, $servers) = $sth->fetchrow) {
$type=uc($type);
--- 800,809 ----
# Check queued queries
$sth=$dbh->prepare("select id,term,type,done,
! startdate,enddate,servers
from z3950queue
order by id desc
limit 20 ");
$sth->execute;
! while ( ($id, $term, $type, $done,
$startdate, $enddate, $servers) = $sth->fetchrow) {
$type=uc($type);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha/acqui.simple marcimport.pl,1.6.2.18,1.6.2.19,
Alan Millar <=