@@ -314,18 +314,12 @@ class User(SaveMixin, ObjectDeleteMixin, RESTObject):
314
314
("status" , "UserStatusManager" ),
315
315
)
316
316
317
- def _change_state (self , dest , server_data ):
318
- if asyncio .iscoroutine (server_data ):
319
- return self ._achange_state (dest , server_data )
320
-
317
+ @awaitable_postprocess
318
+ def _change_state (self , server_data , dest ):
321
319
if server_data :
322
320
self ._attrs ["state" ] = dest
323
321
return server_data
324
322
325
- async def _achange_state (self , dest , server_data ):
326
- server_data = await server_data
327
- return self ._change_state (dest , server_data )
328
-
329
323
@cli .register_custom_action ("User" )
330
324
@exc .on_http_error (exc .GitlabBlockError )
331
325
def block (self , ** kwargs ):
@@ -343,7 +337,7 @@ def block(self, **kwargs):
343
337
"""
344
338
path = "/users/%s/block" % self .id
345
339
server_data = self .manager .gitlab .http_post (path , ** kwargs )
346
- return self ._change_state ("blocked" , server_data )
340
+ return self ._change_state (server_data , "blocked" )
347
341
348
342
@cli .register_custom_action ("User" )
349
343
@exc .on_http_error (exc .GitlabUnblockError )
@@ -362,7 +356,7 @@ def unblock(self, **kwargs):
362
356
"""
363
357
path = "/users/%s/unblock" % self .id
364
358
server_data = self .manager .gitlab .http_post (path , ** kwargs )
365
- return self ._change_state ("active" , server_data )
359
+ return self ._change_state ( server_data , "active" )
366
360
367
361
@cli .register_custom_action ("User" )
368
362
@exc .on_http_error (exc .GitlabDeactivateError )
@@ -381,7 +375,7 @@ def deactivate(self, **kwargs):
381
375
"""
382
376
path = "/users/%s/deactivate" % self .id
383
377
server_data = self .manager .gitlab .http_post (path , ** kwargs )
384
- return self ._change_state ("deactivated" , server_data )
378
+ return self ._change_state (server_data , "deactivated" )
385
379
386
380
@cli .register_custom_action ("User" )
387
381
@exc .on_http_error (exc .GitlabActivateError )
@@ -400,7 +394,7 @@ def activate(self, **kwargs):
400
394
"""
401
395
path = "/users/%s/activate" % self .id
402
396
server_data = self .manager .gitlab .http_post (path , ** kwargs )
403
- return self ._change_state ("active" , server_data )
397
+ return self ._change_state (server_data , "active" )
404
398
405
399
406
400
class UserManager (CRUDMixin , RESTManager ):
@@ -1700,14 +1694,8 @@ class ProjectBoardManager(CRUDMixin, RESTManager):
1700
1694
class ProjectBranch (ObjectDeleteMixin , RESTObject ):
1701
1695
_id_attr = "name"
1702
1696
1703
- async def _achange_protected (self , dest , server_data ):
1704
- server_data = await server_data
1705
- return self ._change_protected (dest , server_data )
1706
-
1707
- def _change_protected (self , dest , server_data ):
1708
- if asyncio .iscoroutine (server_data ):
1709
- return self ._achange_protected (dest , server_data )
1710
-
1697
+ @awaitable_postprocess
1698
+ def _change_protected (self , server_data , dest ):
1711
1699
self ._attrs ["protected" ] = dest
1712
1700
return server_data
1713
1701
@@ -1736,7 +1724,7 @@ def protect(self, developers_can_push=False, developers_can_merge=False, **kwarg
1736
1724
"developers_can_merge" : developers_can_merge ,
1737
1725
}
1738
1726
server_data = self .manager .gitlab .http_put (path , post_data = post_data , ** kwargs )
1739
- return self ._change_protected (True , server_data )
1727
+ return self ._change_protected ( server_data , True )
1740
1728
1741
1729
@cli .register_custom_action ("ProjectBranch" )
1742
1730
@exc .on_http_error (exc .GitlabProtectError )
@@ -1753,7 +1741,7 @@ def unprotect(self, **kwargs):
1753
1741
id = self .get_id ().replace ("/" , "%2F" )
1754
1742
path = "%s/%s/unprotect" % (self .manager .path , id )
1755
1743
server_data = self .manager .gitlab .http_put (path , ** kwargs )
1756
- return self ._change_protected (False , server_data )
1744
+ return self ._change_protected ( server_data , False )
1757
1745
1758
1746
1759
1747
class ProjectBranchManager (NoUpdateMixin , RESTManager ):
0 commit comments