@@ -70,7 +70,9 @@ def _dialogue_choose_auth_profile():
7070 filtered_builtin_profile_names .append (profile_name )
7171
7272 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 ())
7476 sorted_on_disk_profile_names .sort ()
7577 all_profile_names = filtered_builtin_profile_names + sorted_on_disk_profile_names
7678 choices = []
@@ -133,38 +135,30 @@ def cmd_profile_list(long):
133135 """
134136 List auth profiles.
135137 """
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 )
136150 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 )
151154
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 )
152160 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 )
168162
169163
170164@cmd_profile .command ("create" )
@@ -277,6 +271,10 @@ def cmd_profile_set(selected_profile):
277271 """
278272 if not selected_profile :
279273 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
280278
281279 try :
282280 user_profile_config_file = PlanetAuthUserConfig ()
0 commit comments