Procedure to change record syntax information added. Bug fixes.
authorPer M. Hansen <perhans@indexdata.dk>
Thu, 8 Oct 1998 08:58:41 +0000 (08:58 +0000)
committerPer M. Hansen <perhans@indexdata.dk>
Thu, 8 Oct 1998 08:58:41 +0000 (08:58 +0000)
client2/bib-1.tcl
client2/client.tcl
client2/explain.tcl
client2/irtdb.tcl

index 8abb3ca..62409a8 100644 (file)
@@ -6,17 +6,17 @@ set bib1(5) {Title series}
 set bib1(6) {Title uniform}
 set bib1(7) {ISBN}
 set bib1(8) {ISSN}
-set bib1(9) {LC card number}
+set bib1(9) {LC card no.}
 set bib1(10) {BNB card no.}
-set bib1(11) {BGF number}
-set bib1(12) {Local number}
+set bib1(11) {BGF no.}
+set bib1(12) {Local no.}
 set bib1(13) {Dewey classificat}
 set bib1(14) {UDC classification}
 set bib1(15) {Bliss classification}
-set bib1(16) {LC call number}
-set bib1(17) {NLM call number}
-set bib1(18) {NAL call number}
-set bib1(19) {MOS call number}
+set bib1(16) {LC call no.}
+set bib1(17) {NLM call no.}
+set bib1(18) {NAL call no.}
+set bib1(19) {MOS call no.}
 set bib1(20) {Local classification}
 set bib1(21) {Subject heading}
 set bib1(22) {Subject Rameau}
@@ -65,15 +65,15 @@ set bib1(1000) {Author-title}
 set bib1(1001) {Record type}
 set bib1(1002) {Name}
 set bib1(1003) {Author}
-set bib1(1004) {Author-name personal}
-set bib1(1005) {Author-name corporate}
-set bib1(1006) {Author-name conference}
+set bib1(1004) {Author, personal}
+set bib1(1005) {Author, corporate}
+set bib1(1006) {Author, conference}
 set bib1(1007) {Identifier--standard}
 set bib1(1008) {Subject--LC children's}
-set bib1(1009) {Subject name -- personal}
+set bib1(1009) {Subject name--personal}
 set bib1(1010) {Body of text}
 set bib1(1011) {Date/time added to db}
-set bib1(1012) {Date/time last modified}
+set bib1(1012) {Date/time last mod.}
 set bib1(1013) {Authority/format id}
 set bib1(1014) {Concept-text}
 set bib1(1015) {Concept-reference}
@@ -88,9 +88,9 @@ set bib1(1023) {Indexed-by}
 set bib1(1024) {Map-scale}
 set bib1(1025) {Music-key}
 set bib1(1026) {Related-periodical}
-set bib1(1027) {Report-number}
-set bib1(1028) {Stock-number}
-set bib1(1030) {Thematic-number}
+set bib1(1027) {Report-no.}
+set bib1(1028) {Stock-no.}
+set bib1(1030) {Thematic-no.}
 set bib1(1031) {Material-type}
 set bib1(1032) {Doc-id}
 set bib1(1033) {Host-item}
index a248e26..86c66d9 100644 (file)
@@ -98,6 +98,7 @@ set recordSyntax None
 set elementSetNames None
 set delayRequest {}
 set debugMode 0
+set queryAutoOld 0
 
 set queryTypes {Simple}
 set queryButtons { { {I 0} {I 1} {I 2} } }
@@ -109,6 +110,9 @@ wm minsize . 0 0
 set setOffset 0
 set setMax 0
 
+set syntaxList {None sep USMARC UNIMARC UKMARC DANMARC FINMARC NORMARC PICAMARC sep SUTRS sep GRS1}
+
+
 set font(bb,normal) {Helvetica 24}
 set font(bb,bold) {Helvetica 24 bold}
 set font(b,normal) {Helvetica 24}
@@ -164,6 +168,8 @@ if {[file readable "${libdir}/.clientrc.tcl"]} {
 
 source "bib-1.tcl"
 
+set queryAutoOld $queryAuto
+
 # Convert old format to new format...
 foreach target [array names profile] {
     set timedef [clock seconds]
@@ -1080,7 +1086,7 @@ proc init-response {target base} {
         tkerror "Connection rejected by target: $u"
     } else {
                z39 failback [list explain-crash $target $base]
-        explain-check $target [list ready-response $base]
+        explain-check $target [list ready-response $base] $base
     }
 }
 
@@ -1098,9 +1104,9 @@ proc explain-crash {target base} {
 
 # Procedure explain-check 
 # Stub function to check explain. May be overwritten later.
-proc explain-check {target response} {
-    eval $response [list $target]
-}
+#proc explain-check {target response} 
+#    eval $response [list $target]
+
 
 # Procedure ready-response
 # Called after a target has been initialized and, possibly, explained
@@ -1147,6 +1153,7 @@ proc ready-response-actions {target base} {
        global profile queryAuto
        get-attributeDetails $target $base
        changeQueryButtons $target $base 
+       configureOptionsSyntax $target $base
        if {[info exists profile($target,AttributeDetails,$base,Bib1Use)] && $queryAuto == 1} {
                changeQueryButtons $target $base 
                change-queryInfo $target $base
@@ -2072,7 +2079,16 @@ proc cascade-target-list {} {
 # query type information given by the globals $queryButtonsFind and
 # $queryInfoFind are affected by this operation.
 proc query-select {i} {
-    global queryButtonsFind queryInfoFind queryButtons queryInfo
+    global queryButtonsFind queryInfoFind queryButtons queryInfo queryAuto queryAutoOld hostid currentDb profile
+    
+    if {$queryAutoOld == 1 && $queryAuto == 0} {
+       set queryAutoOld $queryAuto
+       return
+    }
+    if {$queryAutoOld == 0 && $queryAuto == 1 && [info exists profile($hostid,AttributeDetails,$currentDb,Bib1Use)] == 0} {
+       set queryAutoOld $queryAuto
+       return
+    }
     set queryInfoFind [lindex $queryInfo $i]
     set queryButtonsFind [lindex $queryButtons $i]
     index-lines .lines 1 $queryButtonsFind $queryInfoFind activate-index
@@ -2157,7 +2173,7 @@ proc cascade-query-list {} {
     $w.clist delete 0 last
     foreach n $queryTypes {
        if {$n == "Auto"} {
-               $w.clist add check -label $n -variable queryAuto
+               $w.clist add check -label $n -variable queryAuto -command [list query-select $i]
         } else {
                $w.clist add command -label $n -command [list query-select $i]      
         }
@@ -2401,10 +2417,7 @@ proc query-add-index-action {queryNo} {
     lappend queryInfoTmp [list $newI {}]
     $w.top.index.list insert end $newI
     destroy .query-add-index
-    #destroy $w.top.lines
-    #frame $w.top.lines -relief ridge -border 2
     index-lines $w.top.lines 0 $queryButtonsTmp $queryInfoTmp activate-e-index
-    #pack $w.top.lines -side left -pady 6 -padx 6 -fill y
 }
 
 # Procedure query-add-line
@@ -3143,11 +3156,31 @@ proc search-fields {w buttondefs} {
 #base          database name
 #Changes the Options|Syntax menu acording to the information obtained via explain.
 proc configureOptionsSyntax {target base} {
-       if {[info exists profile{$target,syntax,$base}]} {
-       #Dette kan ikke laves færdigt da Zebra ikke leverer nogle record syntax oplysninger endnu.
-       
+       global profile syntaxList
+       set activate 0
+       set i -1
+       if {[info exists profile($target,RecordSyntaxes,$base)]} {
+               foreach syntax $syntaxList {
+                       incr i
+                       if {$syntax == "sep"} {continue}
+                       .top.options.m.syntax entryconfigure $i -variable 0
+                       if {[lsearch $profile($target,RecordSyntaxes,$base) $syntax] != -1} {
+                               configure-enable-e .top.options.m.syntax $i
+                               if {$activate == 0} {
+                                       .top.options.m.syntax invoke $i
+                                       set activate 1
+                               }
+                       } else {
+                               configure-disable-e .top.options.m.syntax $i
+                       }
+               }
        } else {
-               initOptionsSyntax
+               foreach syntax $syntaxList {
+                       incr i
+                       if {$syntax == "sep"} {continue}
+                       configure-enable-e .top.options.m.syntax $i
+               }
+               .top.options.m.syntax invoke 0
        }
 }
 
@@ -3262,26 +3295,16 @@ irmenu .top.options.m.wrap
 
 # Init: Definition of the Options|Syntax menu.
 proc initOptionsSyntax {} {
-       irmenu .top.options.m.syntax
-       .top.options.m.syntax add radiobutton -label None -value None -variable recordSyntax
-       .top.options.m.syntax add separator
-       .top.options.m.syntax add radiobutton -label USMARC \
-               -value USMARC -variable recordSyntax
-       .top.options.m.syntax add radiobutton -label UNIMARC \
-               -value UNIMARC -variable recordSyntax
-       .top.options.m.syntax add radiobutton -label UKMARC \
-               -value UKMARC -variable recordSyntax
-       .top.options.m.syntax add radiobutton -label DANMARC \
-               -value DANMARC -variable recordSyntax
-       .top.options.m.syntax add radiobutton -label FINMARC \
-               -value FINMARC -variable recordSyntax
-       .top.options.m.syntax add radiobutton -label NORMARC \
-               -value NORMARC -variable recordSyntax
-       .top.options.m.syntax add radiobutton -label PICAMARC -value PICAMARC -variable recordSyntax
-       .top.options.m.syntax add separator
-       .top.options.m.syntax add radiobutton -label SUTRS -value SUTRS -variable recordSyntax
-       .top.options.m.syntax add separator
-       .top.options.m.syntax add radiobutton -label GRS1 -value GRS1 -variable recordSyntax
+       global syntaxList 
+       set w .top.options.m.syntax
+       irmenu $w
+       foreach syntax $syntaxList {
+               if {$syntax == "sep"} {
+                       $w add separator
+               } else {
+                       $w add radiobutton -label $syntax -value $syntax -variable recordSyntax
+               }
+       }
 }
 initOptionsSyntax
 
index 004f59a..fcf2455 100644 (file)
@@ -41,6 +41,7 @@ proc get-attributeDetails {target base} {
                        }       
                        incr index
                }
+               rename z39.attributeDetails ""
        } else {
                .debug-window.top.t insert end "Ingen explain\n"
        }
@@ -210,7 +211,6 @@ proc explain-check-ok {target zz category finish} {
     puts $crec
 
     set rec [z39.targetInfo getExplain 1]
-
     set trec [z39.targetInfo getExplain 1 targetInfo]
     puts "--- targetInfo"
     puts $rec
@@ -271,14 +271,14 @@ proc explain-refresh {target finish} {
 # Procedure explain-check
 #   Checks target for explain database.
 #   Evals "$finish $target" on finish.
-proc explain-check {target finish} {
+proc explain-check {target finish base} {
     global profile
     
     set refresh 0
     set time [clock seconds]
     set etime $profile($target,timeLastExplain)
     if {[string length $etime]} {
-        # Check last explain. If 1 day since last explain do explain egain.
+        # Check last explain. If 1 day since last explain do explain again.
         # 1 day = 86400
         if {$time > [expr 0 + $etime]} {
                set refresh 1
@@ -295,6 +295,7 @@ proc explain-check {target finish} {
     }
     if {$refresh} {
                explain-refresh $target $finish
+#              get-attributeDetails $target $base
     } else {
                eval $finish [list $target]
     }
index 436c86b..2e3616e 100644 (file)
@@ -1,6 +1,4 @@
 # Setup file
-set profile(BIBSYS,AttributeDetails,gils,Bib1Use) {1012 1019 1007 62 1005 4}
-set profile(BIBSYS,AttributeDetails,marc,Bib1Use) {1005 30 1018 1006 59 4 1003 1004}
 set profile(BIBSYS,authentication) {}
 set profile(BIBSYS,comstack) tcpip
 set profile(BIBSYS,databases) {BIBSYS PERI}
@@ -25,11 +23,12 @@ set profile(BIBSYS,smallSetUpperBound) 0
 set profile(BIBSYS,targetInfoName) {}
 set profile(BIBSYS,timeDefine) 878567355
 set profile(BIBSYS,timeLastExplain) {}
-set profile(BIBSYS,timeLastInit) 907078128
+set profile(BIBSYS,timeLastInit) 907773417
 set profile(BIBSYS,welcomeMessage) {}
-set profile(BIBSYS,windowNumber) 4
+set profile(BIBSYS,windowNumber) 3
 set profile(Bagel:210,AttributeDetails,gils,Bib1Use) {1012 1019 1007 62 1005 4}
 set profile(Bagel:210,AttributeDetails,marc,Bib1Use) {1005 30 1018 1006 59 4 1003 1004}
+set profile(Bagel:210,RecordSyntaxes,gils) {SUTRS GRS1 USMARC}
 set profile(Bagel:210,authentication) {}
 set profile(Bagel:210,comstack) tcpip
 set profile(Bagel:210,databases) {dranet.dra.com IR-Explain-1 gils marc}
@@ -56,8 +55,8 @@ set profile(Bagel:210,recentNews) {}
 set profile(Bagel:210,smallSetUpperBound) 0
 set profile(Bagel:210,targetInfoName) Zebra
 set profile(Bagel:210,timeDefine) {}
-set profile(Bagel:210,timeLastExplain) 907078051
-set profile(Bagel:210,timeLastInit) 907078051
+set profile(Bagel:210,timeLastExplain) 907773347
+set profile(Bagel:210,timeLastInit) 907773347
 set profile(Bagel:210,welcomeMessage) {}
 set profile(Bagel:210,windowNumber) 1
 set {profile(Bell Laboratories Library Network,authentication)} {}
@@ -86,7 +85,7 @@ set {profile(Bell Laboratories Library Network,timeDefine)} 878567355
 set {profile(Bell Laboratories Library Network,timeLastExplain)} 887288368
 set {profile(Bell Laboratories Library Network,timeLastInit)} 887288368
 set {profile(Bell Laboratories Library Network,welcomeMessage)} {Salutations - this is Lucent Technologies experimental Z39.50 server. No guarentees, but free and unlimited access!}
-set {profile(Bell Laboratories Library Network,windowNumber)} 16
+set {profile(Bell Laboratories Library Network,windowNumber)} 15
 set {profile(Bibliothèque Nationale du Québec,authentication)} {}
 set {profile(Bibliothèque Nationale du Québec,comstack)} tcpip
 set {profile(Bibliothèque Nationale du Québec,databases)} IRIS
@@ -143,7 +142,7 @@ set {profile(British Library:,timeDefine)} {}
 set {profile(British Library:,timeLastExplain)} {}
 set {profile(British Library:,timeLastInit)} 893840445
 set {profile(British Library:,welcomeMessage)} {}
-set {profile(British Library:,windowNumber)} 3
+set {profile(British Library:,windowNumber)} 4
 set profile(DanBib,authentication) {}
 set profile(DanBib,comstack) tcpip
 set profile(DanBib,databases) DANBIBV2
@@ -197,7 +196,7 @@ set profile(Default,timeDefine) {}
 set profile(Default,timeLastExplain) {}
 set profile(Default,timeLastInit) {}
 set profile(Default,welcomeMessage) {}
-set profile(Default,windowNumber) 20
+set profile(Default,windowNumber) 19
 set profile(LOC,authentication) {}
 set profile(LOC,comstack) tcpip
 set profile(LOC,databases) {BOOKS NAMES AUTH MAPS MUSIC BIB SERIALS SUBJECTS}
@@ -226,7 +225,7 @@ set profile(LOC,targetMaxResultSize) {}
 set profile(LOC,targetMaxTerms) {}
 set profile(LOC,timeDefine) 878567355
 set profile(LOC,timeLastExplain) {}
-set profile(LOC,timeLastInit) 902482859
+set profile(LOC,timeLastInit) 907587281
 set profile(LOC,welcomeMessage) {}
 set profile(LOC,windowNumber) 12
 set {profile(OCLC FirstSearch,authentication)} {}
@@ -257,9 +256,9 @@ set {profile(OCLC FirstSearch,targetMaxResultSize)} {}
 set {profile(OCLC FirstSearch,targetMaxTerms)} {}
 set {profile(OCLC FirstSearch,timeDefine)} {}
 set {profile(OCLC FirstSearch,timeLastExplain)} {}
-set {profile(OCLC FirstSearch,timeLastInit)} 893840324
+set {profile(OCLC FirstSearch,timeLastInit)} 907164654
 set {profile(OCLC FirstSearch,welcomeMessage)} {}
-set {profile(OCLC FirstSearch,windowNumber)} 15
+set {profile(OCLC FirstSearch,windowNumber)} 14
 set profile(Penn,authentication) {}
 set profile(Penn,comstack) tcpip
 set profile(Penn,databases) CATALOG
@@ -290,7 +289,7 @@ set profile(Penn,timeDefine) 878567355
 set profile(Penn,timeLastExplain) {}
 set profile(Penn,timeLastInit) 902483000
 set profile(Penn,welcomeMessage) {}
-set profile(Penn,windowNumber) 19
+set profile(Penn,windowNumber) 18
 set {profile(Steiermrkische Landesbibliothek,authentication)} {}
 set {profile(Steiermrkische Landesbibliothek,comstack)} tcpip
 set {profile(Steiermrkische Landesbibliothek,databases)} {lbopac miopac}
@@ -322,8 +321,6 @@ set {profile(Steiermrkische Landesbibliothek,timeLastExplain)} 893840781
 set {profile(Steiermrkische Landesbibliothek,timeLastInit)} {}
 set {profile(Steiermrkische Landesbibliothek,welcomeMessage)} {}
 set {profile(Steiermrkische Landesbibliothek,windowNumber)} 2
-set {profile(University of Crete,AttributeDetails,gils,Bib1Use)} {1012 1019 1007 62 1005 4}
-set {profile(University of Crete,AttributeDetails,marc,Bib1Use)} {1005 30 1018 1006 59 4 1003 1004}
 set {profile(University of Crete,authentication)} {}
 set {profile(University of Crete,comstack)} tcpip
 set {profile(University of Crete,databases)} ptolemeos_ii
@@ -410,7 +407,7 @@ set profile(author,timeDefine) 878567355
 set profile(author,timeLastExplain) {}
 set profile(author,timeLastInit) 887288138
 set profile(author,welcomeMessage) {}
-set profile(author,windowNumber) 18
+set profile(author,windowNumber) 17
 set profile(dranet,authentication) {}
 set profile(dranet,comstack) tcpip
 set profile(dranet,databases) drewdb
@@ -527,8 +524,8 @@ set profile(ztest9999,timeDefine) 878567355
 set profile(ztest9999,timeLastExplain) 902228978
 set profile(ztest9999,timeLastInit) 902228978
 set profile(ztest9999,welcomeMessage) {}
-set profile(ztest9999,windowNumber) 14
+set profile(ztest9999,windowNumber) 13
 set queryTypes {Simple Phrase Auto}
 set queryButtons {{{I 3} {I 0} {I 0}} {{I 0} {I 1} {I 0}} {{I 4} {I 5} {I 3}}}
-set queryInfo {{{Title {1=4}} {Author {1=1}} {Subject {1=21}} {Any {1=1016}} {Query 1=1016 2=102} {Title-rank 1=4 2=102} {Date/time 1=1012} {Title-regular 1=4 2=3 4=2 5=102} {Ranked 1=1016 2=102 3=3 4=1 6=1}} {{Title 1=4 4=1 6=2} {Author 1=1003 4=1 6=2} {ISBN 1=7} {ISSN 1=8} {Year 1=30 4=4 6=2} {Any {}}} {{{Author-name corporate} 1=1005} {Date 1=30} {Publisher 1=1018} {{Author-name conference} 1=1006} {{Place publication} 1=59} {Title 1=4} {Author 1=1003} {{Author-name personal} 1=1004}}}
-set queryAuto 0
+set queryInfo {{{Title {1=4}} {Author {1=1}} {Subject {1=21}} {Any {1=1016}} {Query 1=1016 2=102} {Title-rank 1=4 2=102} {Date/time 1=1012} {Title-regular 1=4 2=3 4=2 5=102} {Ranked 1=1016 2=102 3=3 4=1 6=1}} {{Title 1=4 4=1 6=2} {Author 1=1003 4=1 6=2} {ISBN 1=7} {ISSN 1=8} {Year 1=30 4=4 6=2} {Any {}}} {{{Date/time last mod.} 1=1012} {Record-source 1=1019} {Identifier--standard 1=1007} {Abstract 1=62} {{Author, corporate} 1=1005} {Title 1=4}}}
+set queryAuto 1