Skip to content

Commit d5b8465

Browse files
refactor(#367): use new fn with 2nd dialog
1 parent 92353fc commit d5b8465

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

protonvpn_cli/connection.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,6 @@ def show_dialog(headline, choices, stop=False):
5757

5858
pull_server_data()
5959

60-
features = {
61-
1: "Secure-Core",
62-
2: "Tor",
63-
4: "P2P",
64-
8: "Streaming",
65-
}
6660
server_tiers = {0: "F", 1: "B", 2: "P"}
6761

6862
servers = get_servers()
@@ -106,21 +100,17 @@ def show_dialog(headline, choices, stop=False):
106100
get_server_value(servername, "Load", servers)
107101
).rjust(3, " ")
108102

109-
servers_features = []
110-
feat = int(get_server_value(servername, 'Features', servers))
111-
for bit_flag in features:
112-
if (feat & bit_flag) != 0:
113-
servers_features.append(features[bit_flag])
103+
server_features = get_server_features(servername, servers)
114104

115-
if len(servers_features) == 0:
116-
servers_features.append("Normal")
105+
if len(server_features) == 0:
106+
server_features.append("Normal")
117107

118108
tier = server_tiers[
119109
get_server_value(servername, "Tier", servers)
120110
]
121111

122112
choices.append((servername, "Load: {0}% | {1} | {2}".format(
123-
load, tier, ", ".join(servers_features)
113+
load, tier, ", ".join(server_features)
124114
)))
125115

126116
server_result = show_dialog("Choose the server to connect:", choices)

protonvpn_cli/utils.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,13 @@ def get_servers():
115115
# Sort server IDs by Tier
116116
return [server for server in servers if server["Tier"] <= user_tier and server["Status"] == 1] # noqa
117117

118+
118119
def get_server_value(servername, key, servers):
119120
"""Return the value of a key for a given server."""
120121
value = [server[key] for server in servers if server['Name'] == servername]
121122
return value[0]
122123

124+
123125
def get_server_features(servername, servers):
124126
"""Decode server feature bit flags and return feature strings in list"""
125127
feat = int(get_server_value(servername, "Features", servers))
@@ -129,6 +131,7 @@ def get_server_features(servername, servers):
129131
server_features.append(SERVER_FEATURES[bit_flag])
130132
return server_features
131133

134+
132135
def get_config_value(group, key):
133136
"""Return specific value from CONFIG_FILE as string"""
134137
config = configparser.ConfigParser()

0 commit comments

Comments
 (0)