writetree - sorted items and continue on error for more resiliency
This commit is contained in:
@ -15,36 +15,36 @@
|
|||||||
} else {
|
} else {
|
||||||
set line "$nam ([hinfo $tc_root]) = $val"
|
set line "$nam ([hinfo $tc_root]) = $val"
|
||||||
}
|
}
|
||||||
|
clientput "$space* $line"
|
||||||
} message ] {
|
} message ] {
|
||||||
clientput "Error in writeNode/hinfo for $tc_root : $message"
|
clientput "Error in writeNode/hinfo for $tc_root : $message"
|
||||||
return
|
|
||||||
}
|
}
|
||||||
clientput "$space* $line"
|
|
||||||
if {"[string tolower "$do_props"]" == "-prop"} {
|
if {"[string tolower "$do_props"]" == "-prop"} {
|
||||||
if [ catch {
|
if [ catch {
|
||||||
set props [hlistprop $tc_root]
|
set props [lsort [hlistprop $tc_root]]
|
||||||
} message ] {
|
|
||||||
clientput "Error in writeNode/hlistprop for $tc_root : $message"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
#clientput "<<$props>>"
|
#clientput "<<$props>>"
|
||||||
foreach prop $props {
|
foreach prop $props {
|
||||||
|
if [ catch {
|
||||||
|
# guard against embedded spaces producing false properties
|
||||||
#clientput "prop: $prop"
|
#clientput "prop: $prop"
|
||||||
set flds [split $prop "="]
|
set flds [split $prop "="]
|
||||||
#clientput "flds: $flds"
|
#clientput "flds: $flds"
|
||||||
if {[llength $flds] > 1} {
|
if {[llength $flds] > 1} {
|
||||||
set fld0 [lindex $flds 0]
|
set nam [lindex $flds 0]
|
||||||
#clientput "fld0: $fld0"
|
if {[hpropexists $tc_root $nam]} {
|
||||||
if {[hpropexists $tc_root $fld0]} {
|
set rst [hgetpropval $tc_root $nam]
|
||||||
set rst [hgetprop $tc_root $fld0]
|
clientput "$space - $nam=$rst"
|
||||||
set nam [lindex [split [lindex $rst 0] "."] 1]
|
|
||||||
set rst [join [lrange [split $rst " "] 1 end] " "]
|
|
||||||
clientput "$space - $nam $rst"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} message ] {
|
||||||
|
clientput "Error in writeNode/hlistprop for $tc_root : $message"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach node [hlist $tc_root] {
|
} message ] {
|
||||||
|
clientput "Error in writeNode/hlistprop for $tc_root : $message"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach node [lsort [hlist $tc_root]] {
|
||||||
::utility::writeNode $tc_root/$node "$do_props" [expr {$level + 1}]
|
::utility::writeNode $tc_root/$node "$do_props" [expr {$level + 1}]
|
||||||
}
|
}
|
||||||
} message ] {
|
} message ] {
|
||||||
|
Reference in New Issue
Block a user