2424from oslo_utils import importutils
2525
2626from openstackclient .common import exceptions
27+ from openstackclient .i18n import _
2728
2829
2930def find_resource (manager , name_or_id , ** kwargs ):
@@ -90,13 +91,19 @@ def find_resource(manager, name_or_id, **kwargs):
9091 # of client exceptions.
9192 except Exception as ex :
9293 if type (ex ).__name__ == 'NotFound' :
93- msg = "No %s with a name or ID of '%s' exists." % \
94- (manager .resource_class .__name__ .lower (), name_or_id )
95- raise exceptions .CommandError (msg )
94+ msg = _ ("No %(resource)s with a name or ID "
95+ "of '%(name_or_id)s' exists." )
96+ raise exceptions .CommandError (
97+ msg % {'resource' : manager .resource_class .__name__ .lower (),
98+ 'name_or_id' : name_or_id }
99+ )
96100 if type (ex ).__name__ == 'NoUniqueMatch' :
97- msg = "More than one %s exists with the name '%s'." % \
98- (manager .resource_class .__name__ .lower (), name_or_id )
99- raise exceptions .CommandError (msg )
101+ msg = _ ("More than one %(resource)s exists with "
102+ "the name '%(name_or_id)s'." )
103+ raise exceptions .CommandError (
104+ msg % {'resource' : manager .resource_class .__name__ .lower (),
105+ 'name_or_id' : name_or_id }
106+ )
100107 else :
101108 pass
102109
@@ -107,7 +114,7 @@ def find_resource(manager, name_or_id, **kwargs):
107114 return resource
108115 else :
109116 # we found no match, report back this error:
110- msg = "Could not find resource %s" % name_or_id
117+ msg = _ ( "Could not find resource %s" ) % name_or_id
111118 raise exceptions .CommandError (msg )
112119
113120
@@ -152,7 +159,7 @@ def get_field(item, field):
152159 else :
153160 return getattr (item , field )
154161 except Exception :
155- msg = "Resource doesn't have field %s" % field
162+ msg = _ ( "Resource doesn't have field %s" ) % field
156163 raise exceptions .CommandError (msg )
157164
158165
@@ -234,14 +241,17 @@ def sort_items(items, sort_str):
234241 if ':' in sort_key :
235242 sort_key , direction = sort_key .split (':' , 1 )
236243 if not sort_key :
237- msg = "empty string is not a valid sort key"
244+ msg = _ ( "empty string is not a valid sort key" )
238245 raise exceptions .CommandError (msg )
239246 if direction not in ['asc' , 'desc' ]:
240247 if not direction :
241248 direction = "empty string"
242- msg = ("%s is not a valid sort direction for sort key %s, "
243- "use asc or desc instead" % (direction , sort_key ))
244- raise exceptions .CommandError (msg )
249+ msg = _ ("%(direction)s is not a valid sort direction for "
250+ "sort key %(sort_key)s, use asc or desc instead" )
251+ raise exceptions .CommandError (
252+ msg % {'direction' : direction ,
253+ 'sort_key' : sort_key }
254+ )
245255 if direction == 'desc' :
246256 reverse = True
247257 items .sort (key = lambda item : get_field (item , sort_key ),
@@ -273,9 +283,13 @@ def get_client_class(api_name, version, version_map):
273283 try :
274284 client_path = version_map [str (version )]
275285 except (KeyError , ValueError ):
276- msg = "Invalid %s client version '%s'. must be one of: %s" % (
277- (api_name , version , ', ' .join (list (version_map .keys ()))))
278- raise exceptions .UnsupportedVersion (msg )
286+ msg = _ ("Invalid %(api_name)s client version '%(version)s'. "
287+ "must be one of: %(version_map)s" )
288+ raise exceptions .UnsupportedVersion (
289+ msg % {'api_name' : api_name ,
290+ 'version' : version ,
291+ 'version_map' : ', ' .join (list (version_map .keys ()))}
292+ )
279293
280294 return importutils .import_class (client_path )
281295
@@ -391,9 +405,10 @@ def get_password(stdin, prompt=None, confirm=True):
391405 return first_pass
392406 print ("The passwords entered were not the same" )
393407 except EOFError : # Ctl-D
394- raise exceptions .CommandError ("Error reading password." )
395- raise exceptions .CommandError ("There was a request to be prompted for a"
396- " password and a terminal was not detected." )
408+ raise exceptions .CommandError (_ ("Error reading password." ))
409+ raise exceptions .CommandError (_ ("There was a request to be prompted "
410+ "for a password and a terminal was "
411+ "not detected." ))
397412
398413
399414def read_blob_file_contents (blob_file ):
@@ -402,7 +417,7 @@ def read_blob_file_contents(blob_file):
402417 blob = file .read ().strip ()
403418 return blob
404419 except IOError :
405- msg = "Error occurred trying to read from file %s"
420+ msg = _ ( "Error occurred trying to read from file %s" )
406421 raise exceptions .CommandError (msg % blob_file )
407422
408423
0 commit comments