Добавлены изменения в файлы для пакетов. Добавлена процедура автогенерации конфига на основе списка ИБ кластера

This commit is contained in:
Sergey Kalinin
2019-09-25 15:07:59 +03:00
parent a32447dc05
commit 913a734817
6 changed files with 73 additions and 65 deletions

View File

@@ -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 {} {
}

View File

@@ -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
}