2727from openstackclient .object .v1 .lib import object as lib_object
2828
2929
30- class CreateObject (show . ShowOne ):
30+ class CreateObject (lister . Lister ):
3131 """Upload an object to a container"""
3232
3333 log = logging .getLogger (__name__ + '.CreateObject' )
@@ -40,23 +40,32 @@ def get_parser(self, prog_name):
4040 help = 'Container to store new object' ,
4141 )
4242 parser .add_argument (
43- 'object ' ,
43+ 'objects ' ,
4444 metavar = '<object-name>' ,
45- help = 'Local path of object to upload' ,
45+ nargs = "+" ,
46+ help = 'Local path of object(s) to upload' ,
4647 )
4748 return parser
4849
4950 def take_action (self , parsed_args ):
5051 self .log .debug ('take_action(%s)' , parsed_args )
5152
52- data = lib_object .create_object (
53- self .app .client_manager .session ,
54- self .app .client_manager .object_store .endpoint ,
55- parsed_args .container ,
56- parsed_args .object ,
57- )
53+ results = []
54+ for obj in parsed_args .objects :
55+ data = lib_object .create_object (
56+ self .app .client_manager .session ,
57+ self .app .client_manager .object_store .endpoint ,
58+ parsed_args .container ,
59+ obj ,
60+ )
61+ results .append (data )
5862
59- return zip (* sorted (six .iteritems (data )))
63+ columns = ("object" , "container" , "etag" )
64+ return (columns ,
65+ (utils .get_dict_properties (
66+ s , columns ,
67+ formatters = {},
68+ ) for s in results ))
6069
6170
6271class DeleteObject (command .Command ):
@@ -72,21 +81,24 @@ def get_parser(self, prog_name):
7281 help = 'Container that stores the object to delete' ,
7382 )
7483 parser .add_argument (
75- 'object ' ,
84+ 'objects ' ,
7685 metavar = '<object-name>' ,
77- help = 'Object to delete' ,
86+ nargs = "+" ,
87+ help = 'Object(s) to delete' ,
7888 )
7989 return parser
8090
8191 def take_action (self , parsed_args ):
8292 self .log .debug ('take_action(%s)' , parsed_args )
8393
84- lib_object .delete_object (
85- self .app .client_manager .session ,
86- self .app .client_manager .object_store .endpoint ,
87- parsed_args .container ,
88- parsed_args .object ,
89- )
94+ for obj in parsed_args .objects :
95+ lib_object .delete_object (
96+ self .app .restapi ,
97+ self .app .client_manager .session ,
98+ self .app .client_manager .object_store .endpoint ,
99+ parsed_args .container ,
100+ obj ,
101+ )
90102
91103
92104class ListObject (lister .Lister ):
0 commit comments