Функции по работе с JSON

This commit is contained in:
Sergey Kalinin
2019-08-23 17:31:13 +03:00
parent 9ab792d761
commit 2503187e59
4 changed files with 82 additions and 50 deletions

View File

@@ -7,6 +7,8 @@
###########################################
proc Quit {} {
global servers_list
puts [tcl2json $servers_list]
exit
}
@@ -30,7 +32,7 @@ proc TreePress {tree} {
}
proc SetGlobalVarFromTreeItems {tree id} {
global host server active_cluster infobase profile_name dir rac_cmd_for_host rac_cmd
global host server active_cluster infobase profile_name dir rac_cmd_for_host rac_cmd servers_list
set parent [$tree parent $id]
set values [$tree item $id -values]
set key [lindex [split $id "::"] 0]
@@ -52,15 +54,23 @@ proc SetGlobalVarFromTreeItems {tree id} {
close $orig_file
}
work_server {set server $values}
cluster {set active_cluster $values}
infobase {set infobase $values}
cluster {
set active_cluster $values
#dict set servers_list $host $values
}
infobase {
set infobase $values
#dict set servers_list $host $active_cluster infobases $values
}
profile {set profile_name $values}
}
if {$parent eq ""} {
return
} else {
SetGlobalVarFromTreeItems $tree $parent
}
}
proc InsertItemsWorkList {lst} {
@@ -340,31 +350,31 @@ proc GetWorkTreeRow {} {
return $lst
}
proc CreateInfoBasesJSONfile {} {
proc CreateInfoBasesJSONfile {serversList} {
global default dir
puts $serversList
puts [tcl2json $serversList]
set info_base_json_file [file join $dir(work) infobases.lst]
set jsonStr { \
{
"servers":[
{ "server-id": "server_id1",
set jsonStr {
{
"servers":[
{ "server-id": "server_id1",
"clusters": [
{"cluster-id": "cluster_id_1", "infobases": [
{"infobase-uid": "infobase_uid_1", "infobase-user":"infobase_user", "infobase-pwd":"infobase_pwd"},
{"infobase-uid": "infobase_uid_2", "infobase-user":"infobase_user", "infobase-pwd":"infobase_pwd"}]
}
]
},
{ "server-id": "server_id2",
"clusters": [
{"cluster-id": "cluster_id_1", "infobases": [
{"infobase-uid": "infobase_uid_1", "infobase-user":"infobase_user", "infobase-pwd":"infobase_pwd"},
{"infobase-uid": "infobase_uid_2", "infobase-user":"infobase_user", "infobase-pwd":"infobase_pwd"}]
}
]
},
{ "server-id": "server_id2",
"clusters": [
{"cluster-id": "cluster_id_1", "infobases": [
{"infobase-uid": "infobase_uid_1", "infobase-user":"infobase_user", "infobase-pwd":"infobase_pwd"},
{"infobase-uid": "infobase_uid_2", "infobase-user":"infobase_user", "infobase-pwd":"infobase_pwd"}]
}
]}
]}
]}
}
}
}
namespace eval Run {} {}
@@ -2464,3 +2474,4 @@ proc Del::inet {tree host profile_name} {

View File

@@ -57,3 +57,4 @@ proc jsonget {json args} {
return $json
}

32
lib/theme.tcl Normal file
View File

@@ -0,0 +1,32 @@
######################################################
# Rac GUI
# Graphical theme settings
#
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Home page: https://nuk-svk.ru
# Git repos: https://bitbucket.org/svk28/rac-gui
######################################################
# set editor(fg) grey
# set editor(bg) black
# option add *Entry.Foreground $editor(fg) interactive
# option add *Entry.Background $editor(bg) interactive
# option add *Label.Foreground $editor(fg) interactive
# option add *Label.Background $editor(bg) interactive
# option add *Checkbox.Foreground $editor(fg) interactive
# option add *Checkbox.Background $editor(bg) interactive
# option add *Checkbutton.Foreground $editor(fg) interactive
# option add *Checkbutton.Background $editor(bg) interactive
# option add *Combobox.Foreground $editor(fg) interactive
# option add *Combobox.Background $editor(bg) interactive
# option add *Listbox.Foreground $editor(fg) interactive
# option add *Listbox.Background $editor(bg) interactive
# option add *TreeView.Background $editor(bg) interactive
#option add *Treeview.Foreground red interactive
# #option add *Frame.Background $editor(bg) interactive
# option add *ScrollableFrame.Background $editor(bg) interactive
# option add *ScrolledWindow.Background $editor(bg) interactive