From bd078f0a0e2da3c5e76a14c5bdf7bd5ea0ec147c Mon Sep 17 00:00:00 2001 From: Chris Cummer Date: Wed, 11 Apr 2018 13:12:45 -0700 Subject: [PATCH] Improving the security data --- security/client.go | 15 --------------- security/security_data.go | 35 +++++++++++++++++++++++++++++++++++ security/widget.go | 25 ++++++++++--------------- 3 files changed, 45 insertions(+), 30 deletions(-) delete mode 100644 security/client.go create mode 100644 security/security_data.go diff --git a/security/client.go b/security/client.go deleted file mode 100644 index 7dee9215..00000000 --- a/security/client.go +++ /dev/null @@ -1,15 +0,0 @@ -package security - -import () - -func Fetch() map[string]string { - data := make(map[string]string) - - data["Dns"] = DnsServers() - data["Enabled"] = FirewallState() - data["Encryption"] = WifiEncryption() - data["Network"] = WifiName() - data["Stealth"] = FirewallStealthState() - - return data -} diff --git a/security/security_data.go b/security/security_data.go new file mode 100644 index 00000000..1b1a3b48 --- /dev/null +++ b/security/security_data.go @@ -0,0 +1,35 @@ +package security + +import ( + "strings" +) + +type SecurityData struct { + Dns string + FirewallEnabled string + FirewallStealth string + WifiEncryption string + WifiName string +} + +func NewSecurityData() *SecurityData { + return &SecurityData{} +} + +func (data *SecurityData) DnsAt(idx int) string { + records := strings.Split(data.Dns, "\n") + + if len(records) > 0 && len(records) > idx { + return records[idx] + } else { + return "" + } +} + +func (data *SecurityData) Fetch() { + data.Dns = DnsServers() + data.FirewallEnabled = FirewallState() + data.FirewallStealth = FirewallStealthState() + data.WifiName = WifiName() + data.WifiEncryption = WifiEncryption() +} diff --git a/security/widget.go b/security/widget.go index ae1cf70a..9fdf4883 100644 --- a/security/widget.go +++ b/security/widget.go @@ -2,7 +2,6 @@ package security import ( "fmt" - "strings" "time" "github.com/gdamore/tcell" @@ -34,7 +33,8 @@ func (widget *Widget) Refresh() { return } - data := Fetch() + data := NewSecurityData() + data.Fetch() widget.View.SetTitle(" 🤺 Security ") widget.RefreshedAt = time.Now() @@ -57,20 +57,15 @@ func (widget *Widget) addView() { widget.View = view } -func (widget *Widget) contentFrom(data map[string]string) string { - str := " [red]WiFi[white]\n" - str = str + fmt.Sprintf(" %8s: %s\n", "Network", data["Network"]) - str = str + fmt.Sprintf(" %8s: %s\n", "Crypto", data["Encryption"]) - str = str + "\n" - str = str + " [red]Firewall[white]\n" - str = str + fmt.Sprintf(" %8s: %s\n", "Enabled", data["Enabled"]) - str = str + fmt.Sprintf(" %8s: %s\n", "Stealth", data["Stealth"]) - str = str + "\n" - str = str + " [red]DNS[white]\n" +func (widget *Widget) contentFrom(data *SecurityData) string { - for _, record := range strings.Split(data["Dns"], "\n") { - str = str + fmt.Sprintf(" %8s\n", record) - } + str := " [red]WiFi[white]\n" + str = str + fmt.Sprintf(" %8s: %s\n", "Network", data.WifiName) + str = str + fmt.Sprintf(" %8s: %s\n", "Crypto", data.WifiEncryption) + str = str + "\n" + str = str + " [red]Firewall[white] [red]DNS[white]\n" + str = str + fmt.Sprintf(" %8s: %4s %12s\n", "Enabled", data.FirewallEnabled, data.DnsAt(0)) + str = str + fmt.Sprintf(" %8s: %4s %12s\n", "Stealth", data.FirewallStealth, data.DnsAt(1)) return str }