@@ -70,7 +70,9 @@ def _dialogue_choose_auth_profile():
70
70
filtered_builtin_profile_names .append (profile_name )
71
71
72
72
filtered_builtin_profile_names .sort ()
73
- sorted_on_disk_profile_names = Profile .list_on_disk_profiles ().copy ()
73
+
74
+ # Loading filters out invalid profile configurations that may be on disk
75
+ sorted_on_disk_profile_names = list (_load_all_on_disk_profiles ().keys ())
74
76
sorted_on_disk_profile_names .sort ()
75
77
all_profile_names = filtered_builtin_profile_names + sorted_on_disk_profile_names
76
78
choices = []
@@ -133,38 +135,30 @@ def cmd_profile_list(long):
133
135
"""
134
136
List auth profiles.
135
137
"""
138
+ click .echo ("Built-in profiles:" )
139
+ profile_names = Builtins .builtin_profile_names ().copy ()
140
+ profile_names .sort ()
141
+ display_dicts = OrderedDict ()
142
+ display_names = []
143
+ for profile_name in profile_names :
144
+ config_dict = Builtins .builtin_profile_auth_client_config_dict (profile_name )
145
+ # The idea of a "hidden" profile currently only applies to built-in profiles.
146
+ # This is largely so we can have partial SKEL profiles.
147
+ if not config_dict .get ("_hidden" , False ):
148
+ display_dicts [profile_name ] = config_dict
149
+ display_names .append (profile_name )
136
150
if long :
137
- click .echo ("Built-in profiles:" )
138
- profile_names = Builtins .builtin_profile_names ().copy ()
139
- profile_names .sort ()
140
- display_object = OrderedDict ()
141
- for profile_name in profile_names :
142
- config_dict = Builtins .builtin_profile_auth_client_config_dict (profile_name )
143
- # The idea of a "hidden" profile currently only applies to built-in profiles.
144
- # This is largely so we can have partial SKEL profiles.
145
- if not config_dict .get ("_hidden" , False ):
146
- display_object [profile_name ] = config_dict
147
- print_obj (display_object )
148
-
149
- click .echo ("\n Locally defined profiles:" )
150
- print_obj (_load_all_on_disk_profiles ())
151
+ print_obj (display_dicts )
152
+ else :
153
+ print_obj (display_names )
151
154
155
+ click .echo ("\n Locally defined profiles:" )
156
+ profile_dicts = _load_all_on_disk_profiles ()
157
+ profile_names = list (profile_dicts .keys ())
158
+ if long :
159
+ print_obj (profile_dicts )
152
160
else :
153
- click .echo ("Built-in profiles:" )
154
- display_profile_names = []
155
- for profile_name in Builtins .builtin_profile_names ():
156
- config_dict = Builtins .builtin_profile_auth_client_config_dict (profile_name )
157
- # The idea of a "hidden" profile currently only applies to built-in profiles.
158
- # This is largely so we can have partial SKEL profiles.
159
- if not config_dict .get ("_hidden" , False ):
160
- display_profile_names .append (profile_name )
161
- display_profile_names .sort ()
162
- print_obj (display_profile_names )
163
-
164
- click .echo ("\n Locally defined profiles:" )
165
- display_profile_names = Profile .list_on_disk_profiles ()
166
- display_profile_names .sort ()
167
- print_obj (display_profile_names )
161
+ print_obj (profile_names )
168
162
169
163
170
164
@cmd_profile .command ("create" )
@@ -277,6 +271,10 @@ def cmd_profile_set(selected_profile):
277
271
"""
278
272
if not selected_profile :
279
273
selected_profile = _dialogue_choose_auth_profile ()
274
+ else :
275
+ # Validate user input. Dialogue selected profiles should be pre-vetted.
276
+ normalized_profile_name , _ = PlanetAuthFactory .load_auth_client_config_from_profile (selected_profile )
277
+ selected_profile = normalized_profile_name
280
278
281
279
try :
282
280
user_profile_config_file = PlanetAuthUserConfig ()
0 commit comments