Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Tcl - dict for - Dynamic iApps

# # Data for one employee
# dict set employeeInfo 12345-A forenames Joe
# dict set employeeInfo 12345-A surname   Schmoe
# dict set employeeInfo 12345-A street {147 Short Street}
# dict set employeeInfo 12345-A city   Springfield
# dict set employeeInfo 12345-A phone  555-1234
# # Data for another employee
# dict set employeeInfo 98372-J forenames Anne
# dict set employeeInfo 98372-J surname   Other
# dict set employeeInfo 98372-J street {32995 Oakdale Way}
# dict set employeeInfo 98372-J city   Springfield
# dict set employeeInfo 98372-J phone  555-8765
# # The above data probably ought to come from a database...

# puts $employeeInfo

# # Print out some employee info
# set i 0
# puts "There are [dict size $employeeInfo] employees"
# dict for {key info} $employeeInfo {
#     puts "Employee #[incr i]: $key"
#     dict with info {
#         puts "   Name: $forenames $surname"
#         puts "   Address: $street, $city"
#         puts "   Telephone: $phone"
#     }
# }
# # Another way to iterate and pick out names...
# foreach id [dict keys $employeeInfo] {
#     puts "Hello, [dict get $employeeInfo $id forenames]!"
# }

dict set allPools blue members {{memberState Up port 80 ipAddress 10.11.19.87 hostname dynamictestblue-1} {memberState Down port 80 ipAddress 10.11.19.11 hostname dynamictestblue-2}}
dict set allPools green members {{memberState Up port 80 ipAddress 10.11.19.88 hostname dynamictestgreen-1} {memberState Down port 80 ipAddress 10.11.19.12 hostname dynamictestgreen-2}}

set activeDeployment "blue"
set pool_members {}

    dict for {color colorPoolMembers} ${allPools} {
        
        set arrMembers [dict get ${colorPoolMembers} members]

        foreach poolMember ${arrMembers} {
            set hostname [dict get ${poolMember} hostname]
            set address [dict get ${poolMember} ipAddress]
            set port [dict get ${poolMember} port]
            set member_state [dict get ${poolMember} memberState]
            
            if { [info exists member_state] } {
                set server_state ${member_state}
            } else {
                set server_state "StateNotDefined"
            }
            
            set server_state_string "state user-up"
            set server_session_string "session user-enabled"
            switch ${server_state} {
                "Down" { 
                    set server_session_string "session user-disabled"
                    # set server_state_string "state user-down"
                }
                "Disabled" { 
                    set server_session_string "session user-disabled" 
                }
                "StateNotDefined" { 
                    set server_session_string ""
                    set server_state_string ""
                }
            }
            
            if { ${color} != ${activeDeployment} } {
                set server_session_string "session user-disabled"
            }

            lappend pool_members "${hostname}:${port} \{ address ${address} ${server_session_string} ${server_state_string} \} "
        }
    }

puts "Formatted Members: ${pool_members}"

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.