#
-# $Id: z39util.tcl,v 1.30 1996/02/12 13:39:41 adam Exp $
+# $Id: z39util.tcl,v 1.31 1996/02/20 16:07:39 adam Exp $
#
proc saveState {} {
uplevel #0 {
if {"x$sp" == "x"} {
set sp $url
}
- html {<dd><a href="} $url {">} [join $sp] "</a>\n"
+ html {<dd><a href="} [join $url] {">} [join $sp] "</a>\n"
}
dl-marc-field $zset $no 037 {[abc]} "Acquisition" {} "<br>\n"
dl-marc-field $zset $no 037 {[f6]} "Form of issue" {} "<br>\n"
egw_log debug "search: $query"
$zz.$setNo search $query
- if {[catch {egw_wait sessionWait 600}]} {
+ if {[catch {egw_wait sessionWait 60}]} {
egw_log debug "timeout/cancel in search"
displayError "Timeout in search" {}
html "</body></html>\n"
egw_log debug "init-m-response"
- set zstatus($i) 1
incr zleft -1
+ if {![z39$i initResult]} {
+ set zstatus($i) -1
+ z39$i disconnect
+ return
+ }
+ set zstatus($i) 1
}
proc connect-m-response {i} {
set nor [z39$i.$setNo numberOfRecordsReturned]
egw_log debug "search-m-response3"
set hist($setNo,$i,offset) [expr $start + $nor -1]
- if {[expr $nor + $start] >= [z39$i.$setNo resultCount]} {
+ if {[expr $nor + $start] > [z39$i.$setNo resultCount]} {
egw_log debug "search-m-response4"
incr zleft -1
set zstatus($i) 2
}
egw_log debug "search-m-response5"
if {$nor >= $number} {
- egw_log debug "search-m-response6"
+ egw_log debug "search-m-response6 nor=$nor number=$number"
incr zleft -1
set zstatus($i) 2
return
global zstatus
global hist
global targets
+ global debug
set not $hist($setNo,0,host)
+ egw_log debug "z39msearch start=$start number=$number elements=$elements"
for {set i 1} {$i <= $not} {incr i} {
set host $hist($setNo,$i,host)
if {[catch [list z39$i failback fail-m-response $i]]} {
}
set zleft 0
for {set i 1} {$i <= $not} {incr i} {
- html "host " [splitHostSpec $hist($setNo,$i,host)] ": "
+ if {$debug} {
+ html "host " [splitHostSpec $hist($setNo,$i,host)] ": "
+ }
egw_log debug "i=$i zstatus=$zstatus($i)"
if {$zstatus($i) < 1} {
- html "fail<br>\n"
+ if {$debug} {
+ html "fail<br>\n"
+ }
continue
}
if {[catch [list z39$i.$setNo preferredRecordSyntax USMARC]]} {
- html "ok<br>\n"
+ if {$debug} {
+ html "ok<br>\n"
+ }
ir-set z39$i.$setNo z39$i
set hist($setNo,$i,offset) 0
eval z39$i.$setNo databaseNames $hist($setNo,$i,database)
z39$i.$setNo recordElements $thisElements
for {set n 0} {$n < $tnumber} {incr n} {
- if {[z39$i.$setNo type [expr $start + $n]] == ""} {
+ if {[z39$i.$setNo recordType [expr $start + $n]] == ""} {
if {$n > 0} {
egw_log debug "failed on $n"
}
+ if {$debug} {
+ html "no record at #" [expr $start + $n]
+ html " el=-" $thisElements "-"
+ }
break
}
}
if {$n == $tnumber} {
- html "cached<br>\n"
+ if {$debug} {
+ html "cached<br>\n"
+ }
continue
}
egw_log debug "mpresent start=$start number=$tnumber"
z39$i.$setNo present $start $tnumber
} else {
- html "ok<br>\n"
+ if {$debug} {
+ html "ok<br>\n"
+ }
}
}
while {$zleft > 0} {
while {$setMax > 0 && $toGet > 0} {
for {set got 0} {$got < $toGet} {incr got} {
- if {[$zz.$setNo type [expr $setOffset + $got]] == ""} {
+ if {[$zz.$setNo recordType [expr $setOffset + $got]] == ""} {
break
}
}