X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=www%2Fz39util.tcl;h=3eb4dff5e265a1c5e0aead9f743213ea974ae4e0;hb=73041203f9c387b4596185203b1daebe2f4f30e9;hp=e2dca2fbc28adfd14b25370dc8bdc61d77f60e58;hpb=cc5af6a5323f9576c208519dbf4351b4f818e166;p=egate.git diff --git a/www/z39util.tcl b/www/z39util.tcl index e2dca2f..3eb4dff 100644 --- a/www/z39util.tcl +++ b/www/z39util.tcl @@ -1,5 +1,5 @@ # -# $Id: z39util.tcl,v 1.19 1996/01/09 16:16:49 adam Exp $ +# $Id: z39util.tcl,v 1.23 1996/01/24 08:27:23 adam Exp $ # proc saveState {} { uplevel #0 { @@ -93,8 +93,17 @@ proc display-brief {zset no tno} { } if {![catch { set author [$zset getMarc $no field 100 * a] - set title [lindex [$zset getMarc $no field 245 * a] 0] - set year [lindex [$zset getMarc $no field 260 * c] 0] + set corp [$zset getMarc $no field 110 * a] + set meet [$zset getMarc $no field 111 * a] + set title [$zset getMarc $no field 245 * a] + if {[llength $author] == 0} { + set cover [$zset getMarc $no field 245 * {[bc]}] + } else { + set cover [$zset getMarc $no field 245 * b] + } + set location [$zset getMarc $no field 260 * a] + set publisher [$zset getMarc $no field 260 * b] + set year [$zset getMarc $no field 260 * c] } ] } { set p 0 foreach a $author { @@ -104,17 +113,49 @@ proc display-brief {zset no tno} { html $a set p 1 } + foreach a $corp { + if {$p} { + html ", " + } + html $a + set p 1 + } + foreach a $meet { + if {$p} { + html ", " + } + html $a + set p 1 + } if {$p} { html ": " } - html {} - if {[string length $title] == 0} { - html {No title} - } else { - html $title + html {} + set nope 1 + foreach v $title { + html $v + set nope 0 + } + if {$nope} { + html {No title} } - html {} " ${year} " + html { } + foreach v $cover { + html $v + } + html {
} + foreach v $location { + html " $v" + } + foreach v $publisher { + html " $v" + } + foreach v $year { + html " $v" + } + html { -- } + html "view full" } html "
\n" } @@ -167,7 +208,7 @@ proc display-raw {zset no tno} { } html $data } - htmlr {
} + html "
\n" } } @@ -286,8 +327,17 @@ proc display-full {zset no tno} { } set n [dl-marc-field $zset $no 710 a "Corporate Name" {} ", "] if {$n == 0} { - set n [dl-marc-field $zset $no 710 a "Corporate Name" {} ", "] + set n [dl-marc-field $zset $no 110 a "Corporate Name" {} ", "] } + set n [dl-marc-field $zset $no 711 a "Meeting Name" {} ", "] + if {$n > 0} { + dd-marc-field $zset $no 711 {[bndc]} " " "" + } else { + set n [dl-marc-field $zset $no 111 a "Meeting Name" {} ", "] + if {$n > 0} { + dd-marc-field $zset $no 111 {[bndc]} " " " " + } + } set n [dl-marc-field $zset $no 245 {a} "Title" {} " "] if {$n > 0} { dd-marc-field $zset $no 245 b "" "" @@ -382,9 +432,10 @@ proc display-rec {from to dfunc tno} { proc build-scan {t i} { global targets - set term [wform entry$i] + set term [egw_form entry$i] if {$term != ""} { - set field [wform menu$i] + set field [join [egw_form menu$i]] + set attr {Title} foreach x [lindex $targets($t) 2] { if {[lindex $x 0] == $field} { set attr [lindex $x 1] @@ -401,9 +452,9 @@ proc build-query {t ilines} { set op {} set q {} for {set i 1} {$i <= $ilines} {incr i} { - set term [wform entry$i] + set term [join [egw_form entry$i]] if {[string length $term] > 0} { - set field [wform menu$i] + set field [join [egw_form menu$i]] foreach x [lindex $targets($t) 2] { if {[lindex $x 0] == $field} { set attr [lindex $x 1] @@ -419,7 +470,7 @@ proc build-query {t ilines} { {} { set q "${attr} ${term}" } } - set op [wform logic$i] + set op [egw_form logic$i] } } return $q @@ -462,7 +513,7 @@ proc z39scan {setNo scanNo tno scanLines scanPos cache} { displayError "Cannot connect to target" $host return 0 } elseif {$sessionWait == 0} { - if {[catch {zwait sessionWait 300}]} { + if {[catch {egw_wait sessionWait 300}]} { $zz disconnect displayError "Cannot connect to target" $host return 0 @@ -479,7 +530,7 @@ proc z39scan {setNo scanNo tno scanLines scanPos cache} { $zz disconnect return 0 } - if {[catch {zwait sessionWait 60}]} { + if {[catch {egw_wait sessionWait 60}]} { displayError "Cannot initialize target" $host $zz disconnect return 0 @@ -512,8 +563,8 @@ proc z39scan {setNo scanNo tno scanLines scanPos cache} { set sessionWait 0 $zs scan "${scanAttr} ${scanTerm}" - if {[catch {zwait sessionWait 600}]} { - wlog debug "timeout/cancel in scan" + if {[catch {egw_wait sessionWait 60}]} { + egw_log debug "timeout/cancel in scan" displayError "Timeout in scan" {} html "\n" $zz disconnect @@ -604,7 +655,7 @@ proc z39search {setNo piggy tno elements} { displayError "Cannot connect to target" $host return 0 } elseif {$sessionWait == 0} { - if {[catch {zwait sessionWait 300}]} { + if {[catch {egw_wait sessionWait 300}]} { $zz disconnect displayError "Cannot connect to target" $host return 0 @@ -621,7 +672,7 @@ proc z39search {setNo piggy tno elements} { $zz disconnect return 0 } - if {[catch {zwait sessionWait 60}]} { + if {[catch {egw_wait sessionWait 60}]} { displayError "Cannot initialize target" $host $zz disconnect return 0 @@ -653,7 +704,7 @@ proc z39search {setNo piggy tno elements} { $zz.$setNo mediumSetElementSetNames $elements $zz.$setNo recordElements $elements - wlog debug "database=$database" + egw_log debug "database=$database" eval $zz.$setNo databaseNames $database $zz.$setNo preferredRecordSyntax USMARC @@ -671,8 +722,8 @@ proc z39search {setNo piggy tno elements} { set sessionWait 0 $zz.$setNo search $query - if {[catch {zwait sessionWait 600}]} { - wlog debug "timeout/cancel in search" + if {[catch {egw_wait sessionWait 600}]} { + egw_log debug "timeout/cancel in search" displayError "Timeout in search" {} html "\n" $zz disconnect @@ -695,7 +746,7 @@ proc init-m-response {i} { global zstatus global zleft - wlog debug "init-m-response" + egw_log debug "init-m-response" set zstatus($i) 1 incr zleft -1 @@ -705,7 +756,7 @@ proc connect-m-response {i} { global zstatus global zleft - wlog debug "connect-m-response" + egw_log debug "connect-m-response" z39$i callback [list init-m-response $i] if {[catch {z39$i init}]} { set zstatus($i) -1 @@ -717,7 +768,7 @@ proc fail-m-response {i} { global zstatus global zleft - wlog debug "fail-m-response" + egw_log debug "fail-m-response" set zstatus($i) -1 incr zleft -1 } @@ -768,8 +819,8 @@ proc z39msearch {setNo piggy elements} { } } while {$zleft > 0} { - wlog debug "Waiting for init response" - if {[catch {zwait zleft 10}]} { + egw_log debug "Waiting for init response" + if {[catch {egw_wait zleft 10}]} { break } } @@ -804,7 +855,7 @@ proc z39msearch {setNo piggy elements} { z39$i.$setNo mediumSetPresentNumber 0 } set zstatus($i) 1 - wlog debug "search " $hist($setNo,$i,query) + egw_log debug "search " $hist($setNo,$i,query) z39$i.$setNo search $hist($setNo,$i,query) incr zleft } else { @@ -812,8 +863,8 @@ proc z39msearch {setNo piggy elements} { } } while {$zleft > 0} { - wlog debug "Waiting for search response" - if {[catch {zwait zleft 30}]} { + egw_log debug "Waiting for search response" + if {[catch {egw_wait zleft 30}]} { break } } @@ -858,8 +909,8 @@ proc z39present {setNo tno setOffset setMax dfunc elements} { if {$got < $toGet} { set sessionWait 0 $zz.$setNo present $setOffset $toGet - if {[catch {zwait sessionWait 300}]} { - wlog debug "timeout/cancel in present" + if {[catch {egw_wait sessionWait 300}]} { + egw_log debug "timeout/cancel in present" $zz disconnect break } @@ -877,7 +928,7 @@ proc z39present {setNo tno setOffset setMax dfunc elements} { display-rec $setOffset [expr $got + $setOffset - 1] $dfunc $tno set setOffset [expr $got + $setOffset] set toGet [expr 1 + $setMax - $setOffset] - wflush + egw_flush } } @@ -971,9 +1022,11 @@ proc button-view-history {more} { global useIcons global env global sessionId + global nextSetNo html {View History} @@ -1008,6 +1061,27 @@ proc button-new-query {more setNo} { } } +proc button-scan-window {more setNo} { + global useIcons + global env + global sessionId + global hist + + html {} + if {$useIcons} { + html {} + } else { + html {Scan} + if {$more} { + html " | \n" + } else { + html "\n" + } + } +} + proc maintenance {} { html {
This page is maintained by } html { Peter Wad Hansen .}