@@ -83,7 +83,7 @@ def do_list(self):
8383
8484 def do_get (self ):
8585 id = None
86- if gitlab .mixins .GetWithoutIdMixin not in inspect .getmro (self .cls ):
86+ if gitlab .mixins .GetWithoutIdMixin not in inspect .getmro (self .mgr_cls ):
8787 id = self .args .pop (self .cls ._id_attr )
8888
8989 try :
@@ -99,7 +99,9 @@ def do_delete(self):
9999 cli .die ("Impossible to destroy object" , e )
100100
101101 def do_update (self ):
102- id = self .args .pop (self .cls ._id_attr )
102+ id = None
103+ if gitlab .mixins .GetWithoutIdMixin not in inspect .getmro (self .mgr_cls ):
104+ id = self .args .pop (self .cls ._id_attr )
103105 try :
104106 return self .mgr .update (id , self .args )
105107 except Exception as e :
@@ -282,15 +284,18 @@ def display_dict(d, padding):
282284 return
283285
284286 # not a dict, we assume it's a RESTObject
285- id = getattr (obj , obj ._id_attr , None )
286- print ('%s: %s' % (obj ._id_attr , id ))
287+ if obj ._id_attr :
288+ id = getattr (obj , obj ._id_attr , None )
289+ print ('%s: %s' % (obj ._id_attr , id ))
287290 attrs = obj .attributes
288- attrs .pop (obj ._id_attr )
291+ if obj ._id_attr :
292+ attrs .pop (obj ._id_attr )
289293 display_dict (attrs , padding )
290294
291295 else :
292- id = getattr (obj , obj ._id_attr )
293- print ('%s: %s' % (obj ._id_attr .replace ('_' , '-' ), id ))
296+ if obj ._id_attr :
297+ id = getattr (obj , obj ._id_attr )
298+ print ('%s: %s' % (obj ._id_attr .replace ('_' , '-' ), id ))
294299 if hasattr (obj , '_short_print_attr' ):
295300 value = getattr (obj , obj ._short_print_attr )
296301 print ('%s: %s' % (obj ._short_print_attr , value ))
0 commit comments