X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=pctb%2Fdictionary-manager;h=e6c27621b35ebdd1ca143f9bcf25d5857e8b8b46;hb=276388b200fb1d938558ffea66938034e988da88;hp=6814586d9249896bf8b487effd432db42154c841;hpb=40a2e83600face2535bd28b6aa9d94b80a2af15e;p=ypp-sc-tools.db-test.git diff --git a/pctb/dictionary-manager b/pctb/dictionary-manager index 6814586..e6c2762 100755 --- a/pctb/dictionary-manager +++ b/pctb/dictionary-manager @@ -25,9 +25,12 @@ # sponsored by Three Rings. -# ./dictionary-manager --approve-updates ijackson@login.chiark.greenend.org.uk /home/ijackson/things/ypp-sc-tools.pctb-dict-test/pctb /home/ftp/users/ijackson/pctb/test # ./dictionary-manager --approve-updates ijackson@login.chiark.greenend.org.uk /home/ijackson/things/ypp-sc-tools.pctb-dict/pctb /home/ftp/users/ijackson/pctb +# ./dictionary-manager --approve-updates ijackson@login.chiark.greenend.org.uk /home/ijackson/things/ypp-sc-tools.pctb-dict-test/pctb /home/ftp/users/ijackson/pctb/test + +# ./dictionary-manager --approve-updates '' . . + # invocation: # OUT OF DATE @@ -39,6 +42,9 @@ # if it wrote a byte to fd 4, it can take another question +set aadepth 2 + + #---------- library routines ---------- proc manyset {list args} { @@ -223,7 +229,7 @@ proc write_database {} { global reqkind database_fn database upvar #0 database_magic/$reqkind magic - set f [open $database_fn.new w] + set f [open $database_fn.tmp w] puts $f $magic write_database_header/$reqkind $f @@ -237,7 +243,7 @@ proc write_database {} { } puts $f "." close $f - file rename -force $database_fn.new $database_fn + file rename -force $database_fn.tmp $database_fn } proc select_database {dbname_spec} { @@ -282,7 +288,7 @@ proc required/char {} { label .selctx.title -text \ {Select match context for altering dictionary:} pack .selctx.title -side left - set new_context [lindex $unk_contexts 0] + set new_context {} set ci 0; foreach ctx [lsort [array names all_contexts]] { set all_contexts($ctx) $ci @@ -511,7 +517,7 @@ proc upload_status {} { } proc maybe_upload_entry {im def} { - global reqkind privacy_setting env dbname quiet + global reqkind privacy_setting env dbname quiet aadepth debug "DB-UPDATE PRIVACY $privacy_setting" if {!$privacy_setting} return @@ -520,6 +526,8 @@ proc maybe_upload_entry {im def} { set pl {} lappend pl dict $dbname + lappend pl version 3 + lappend pl depth $aadepth if {$privacy_setting>=2} { set pirate [string totitle $env(YPPSC_PIRATE)] @@ -687,9 +695,11 @@ proc char_read_pgm {f} { append o $ointerl } -# debug "DATA $o" - set data [exec pnmscale 1 << $o] - image create photo image/main -data $data + debug "DATA1 $o" + set tmpfile ./#dictimage#.tmp + exec pnmscale 1 << $o >$tmpfile + image create photo image/main -file $tmpfile + file delete $tmpfile } #---------- character set editor display ---------- @@ -895,7 +905,7 @@ proc recursor {} { # $database($context 0x 0x...) = $hex -set database_magic/char {# ypp-sc-tools pctb font v2} +set database_magic/char "# ypp-sc-tools pctb font v3 depth=$aadepth" proc read_database_header/char {f} { global rows @@ -1131,10 +1141,10 @@ proc chop_counted {var} { } proc approve_decompose_data {specdata} { - global data + global data aadepth set data $specdata - regsub-data {^ypp-sc-tools dictionary update v1\n} {} + regsub-data "^ypp-sc-tools dictionary update v3 depth=$aadepth\\n" {} uplevel 1 chop_counted pirate uplevel 1 chop_counted caller uplevel 1 chop_counted dict @@ -1144,7 +1154,7 @@ proc approve_decompose_data {specdata} { uplevel 1 chop_counted key uplevel 1 chop_counted val - return [uplevel 1 {list $dict $def $image}] + return [uplevel 1 {list $dict $ctx $def $image}] } proc approve_compare {fd1 fd2} { @@ -1184,9 +1194,14 @@ proc approve_showentry {ix file specdata} { label $wb-def.def -text $def pack $wb-def.scope $wb-def.def -side bottom - set ppm [exec pnmscale 2 << $image] - image create photo approve/$ix -data $ppm - label $wb-image -image approve/$ix -bd 2 -relief sunken + if {[regexp {^P2} $image]} { + set image [exec pgmtoppm {#008-white} << $image | pnmnoraw] + append image "\n" + } + set image [exec pnmscale 2 << $image] + + image create photo approve/$ix -data $image + label $wb-image -image approve/$ix -bd 2 -relief flat -bg black manyset [dict2_reqkind_rows $dict] reqkind approve_showentry_xinfo/$reqkind $wb-xinfo $def