Добавлены изменения в файлы для пакетов. Добавлена процедура автогенерации конфига на основе списка ИБ кластера
This commit is contained in:
@@ -22,7 +22,6 @@ proc GetInfobasePassword {host cluster infobase} {
|
||||
return [dict get $servers_list servers $host clusters $cluster infobases $infobase infobase_pwd]
|
||||
}
|
||||
}
|
||||
|
||||
proc GetClusterAdmin {host cluster} {
|
||||
global servers_list
|
||||
if [dict exists $servers_list servers $host clusters $cluster cluster_user] {
|
||||
@@ -96,32 +95,24 @@ proc SetServersConfigDict {} {
|
||||
# Сохраянем конфиг
|
||||
proc SaveConfig {} {
|
||||
global dir servers_list
|
||||
#puts ">>>>>>>>>>> $servers_list <<<<<<<<<<<<"
|
||||
set file [open [file join $dir(work) 1c_srv_new.cfg] "w"]
|
||||
set f [open [file join $dir(work) 1c_srv_new_.cfg] "w"]
|
||||
if {![dict exists $servers_list servers]} {
|
||||
return
|
||||
}
|
||||
set dict [dict get $servers_list servers]
|
||||
#puts "\n\n[split $dict " "]\n\n"
|
||||
set dict [string map {"\{" "\{\n" "\}" "\n\}"} $dict]
|
||||
regsub -- {(\})} $dict "\}\n" dict
|
||||
puts "_________"
|
||||
puts $servers_list
|
||||
puts "2_________"
|
||||
puts $dict
|
||||
#ictFormatter [dict get $servers_list servers] "-"
|
||||
#DictFormatter $dict "-"
|
||||
#regexp -all -indices -line -- {\}(.+?)\{} $dict m
|
||||
#puts " \n $m"
|
||||
puts $file $dict
|
||||
close $file
|
||||
#return
|
||||
set file [open [file join $dir(work) 1c_srv_new.cfg] "r"]
|
||||
|
||||
set str ""
|
||||
seek $file 0
|
||||
set close_brace 0
|
||||
set open_brace 0
|
||||
set indent ""
|
||||
while {[gets $file line] >=0} {
|
||||
if [regexp -- {\{} $line] {
|
||||
if {$open_brace == 0} {
|
||||
@@ -130,29 +121,23 @@ proc SaveConfig {} {
|
||||
append indent " "
|
||||
}
|
||||
incr open_brace
|
||||
}
|
||||
}
|
||||
if [regexp -- {\}} $line] {
|
||||
#incr open_brace -1
|
||||
set indent [string range $indent 0 end-4]
|
||||
incr close_brace
|
||||
}
|
||||
if [regexp -nocase -all -- {(\})(.+?\{)} $line match brace phrase] {
|
||||
# puts "> $v1 >>$v2"
|
||||
#append indent " "
|
||||
set line "$brace\n$indent$phrase"
|
||||
#set line [string map {"\}" "\}\n"} $line]
|
||||
#regsub -- {\} } $line "\}\n$indent" line
|
||||
}
|
||||
if {$open_brace > $close_brace} {
|
||||
#set line "$indent$line"
|
||||
}
|
||||
if [regexp -nocase -indices -all -- {((.*?)\s(".*?"))} $line match v1 v2 v3] {
|
||||
puts "> $v1 >>$v2 >>> $v3"
|
||||
set index [lindex [split $v3 " "] 1]
|
||||
puts $index
|
||||
#puts $index
|
||||
set last_pair [string trim [string range $line $index+1 end]]
|
||||
set line [GetDictFromString $line $indent]
|
||||
puts ">$last_pair<"
|
||||
if {$last_pair ne ""} {
|
||||
append line "$indent[string trim $last_pair]"
|
||||
}
|
||||
@@ -168,6 +153,8 @@ proc SaveConfig {} {
|
||||
puts $file $line
|
||||
}
|
||||
}
|
||||
#puts $file $servers_list
|
||||
#file delete -force [file join $dir(work) 1c_srv_new_.cfg]
|
||||
#file copy -force [file join $dir(work) 1c_srv_new_.cfg] [file join $dir(work) 1c_srv_new.cfg]
|
||||
}
|
||||
|
||||
@@ -225,8 +212,3 @@ proc CopyNewConfig {} {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -54,7 +54,7 @@ proc SetGlobalVarFromTreeItems {tree id} {
|
||||
}
|
||||
infobase {
|
||||
set infobase $values
|
||||
#dict set servers_list servers $host clusters $active_cluster infobases $values
|
||||
#puts [dict set servers_list servers $host clusters $active_cluster infobases $values]
|
||||
}
|
||||
profile {
|
||||
set profile_name $values
|
||||
@@ -493,7 +493,7 @@ proc Run::services {tree host values} {
|
||||
}
|
||||
|
||||
proc Run::infobases {tree host values} {
|
||||
global active_cluster cluster_user cluster_pwd
|
||||
global active_cluster cluster_user cluster_pwd servers_list
|
||||
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
|
||||
if {$cluster_user ne "" && $cluster_pwd ne ""} {
|
||||
set auth "--cluster-user=$cluster_user --cluster-pwd=$cluster_pwd"
|
||||
@@ -520,9 +520,15 @@ proc Run::infobases {tree host values} {
|
||||
set id [lindex $base($x) 0]
|
||||
if { [$tree exists "infobase::$id"] == 0 } {
|
||||
$tree insert "infobases::$values" end -id "infobase::$id" -text "[lindex $base($x) 1]" -values "$id"
|
||||
if {![dict exists $servers_list servers $host clusters $active_cluster infobases $id]} {
|
||||
dict set servers_list servers $host clusters $active_cluster \
|
||||
infobases $id "name \"[lindex $base($x) 1]\""
|
||||
}
|
||||
}
|
||||
InsertBaseItems $tree $id
|
||||
}
|
||||
#dict update dictionaryVariable key varName ?key varName ...? body
|
||||
|
||||
}
|
||||
|
||||
proc Run::infobase {tree host values} {
|
||||
@@ -1018,18 +1024,25 @@ proc Add::server {} {
|
||||
}
|
||||
|
||||
.add.frm_btn.btn_ok configure -command {
|
||||
set msg ""
|
||||
set server_name "[.add.frm.ent_server_name get]"
|
||||
set host "[.add.frm.ent_host get]:[.add.frm.ent_port get]"
|
||||
set rac_cmd_for_host($host) [.add.frm.ent_path_to_rac get]
|
||||
|
||||
dict set servers_list servers $host "name \"$server_name\" rac_cmd $rac_cmd_for_host($host) clusters {}"
|
||||
set rac_cmd_for_host($host) "[.add.frm.ent_path_to_rac get]"
|
||||
if {$rac_cmd_for_host($host) eq ""} {
|
||||
append msg [::msgcat::mc "Command must be"] " 'rac' " \
|
||||
[::msgcat::mc "or"] " 'rac.exe'\n"
|
||||
tk_messageBox -message [::msgcat::mc $msg] -icon question -type ok
|
||||
return
|
||||
}
|
||||
dict set servers_list servers $host "name \"$server_name\" rac_cmd \"$rac_cmd_for_host($host)\" clusters {}"
|
||||
|
||||
#set host [SaveMainServer [.add.frm.ent_host get] [.add.frm.ent_port get] [.add.frm.ent_path_to_rac get]]
|
||||
#set rac_cmd_for_host($host) [.add.frm.ent_path_to_rac get]
|
||||
#puts $servers_list
|
||||
.frm_tree.tree insert {} end -id "server::$host" -text "$server_name" -values "$host"
|
||||
destroy .add
|
||||
SaveConfig
|
||||
unset msg
|
||||
#SaveConfig
|
||||
return $host
|
||||
}
|
||||
return $frm
|
||||
@@ -2582,3 +2595,4 @@ proc Del::app {tree host profile_name} {
|
||||
proc Del::inet {tree host profile_name} {
|
||||
Del::acl $host inet [GetWorkTreeItems "name"] $profile_name
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user