|
58 | 58 | gitlab.ProjectMilestone: {'issues': {'required': ['id','project-id']}},
|
59 | 59 | gitlab.Project: {'search': {'required': ['query']},
|
60 | 60 | 'owned': {},
|
61 |
| -'all': {}, |
| 61 | +'all': {'optional': [('all',bool)]}, |
62 | 62 | 'starred': {},
|
63 | 63 | 'star': {'required': ['id']},
|
64 | 64 | 'unstar': {'required': ['id']},
|
@@ -181,7 +181,7 @@ def do_project_search(self, cls, gl, what, args):
|
181 | 181 |
|
182 | 182 | defdo_project_all(self,cls,gl,what,args):
|
183 | 183 | try:
|
184 |
| -returngl.projects.all() |
| 184 | +returngl.projects.all(all=args['all']) |
185 | 185 | exceptExceptionase:
|
186 | 186 | _die("Impossible to list all projects",e)
|
187 | 187 |
|
@@ -430,12 +430,21 @@ def _populate_sub_parser_by_class(cls, sub_parser):
|
430 | 430 | forxinattrs]
|
431 | 431 |
|
432 | 432 | ifclsinEXTRA_ACTIONS:
|
| 433 | +def_add_arg(parser,required,data): |
| 434 | +extra_args= {} |
| 435 | +ifisinstance(data,tuple): |
| 436 | +ifdata[1]isbool: |
| 437 | +extra_args= {'action':'store_true'} |
| 438 | +data=data[0] |
| 439 | + |
| 440 | +parser.add_argument("--%s"%data,required=required,**extra_args) |
| 441 | + |
433 | 442 | foraction_nameinsorted(EXTRA_ACTIONS[cls]):
|
434 | 443 | sub_parser_action=sub_parser.add_parser(action_name)
|
435 | 444 | d=EXTRA_ACTIONS[cls][action_name]
|
436 |
| - [sub_parser_action.add_argument("--%s"%arg,required=True) |
| 445 | + [_add_arg(sub_parser_action,True,arg) |
437 | 446 | forargind.get('required', [])]
|
438 |
| - [sub_parser_action.add_argument("--%s"%arg,required=False) |
| 447 | + [_add_arg(sub_parser_action,False,arg) |
439 | 448 | forargind.get('optional', [])]
|
440 | 449 |
|
441 | 450 |
|
|