forked from ungleich-public/cdist
		
	Make install command beta.
This commit is contained in:
		
					parent
					
						
							
								acf94abe26
							
						
					
				
			
			
				commit
				
					
						750f90db4c
					
				
			
		
					 2 changed files with 20 additions and 6 deletions
				
			
		| 
						 | 
					@ -59,16 +59,24 @@ class UnresolvableRequirementsError(cdist.Error):
 | 
				
			||||||
class CdistBetaRequired(cdist.Error):
 | 
					class CdistBetaRequired(cdist.Error):
 | 
				
			||||||
    """Beta functionality is used but beta is not enabled"""
 | 
					    """Beta functionality is used but beta is not enabled"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, command, arg):
 | 
					    def __init__(self, command, arg=None):
 | 
				
			||||||
        self.command = command
 | 
					        self.command = command
 | 
				
			||||||
        self.arg = arg
 | 
					        self.arg = arg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __str__(self):
 | 
					    def __str__(self):
 | 
				
			||||||
        err_msg = ("\'{}\' argument of \'{}\' command is beta, but beta is "
 | 
					        if self.arg is None:
 | 
				
			||||||
 | 
					            err_msg = ("\'{}\' command is beta, but beta is "
 | 
				
			||||||
                       "not enabled. If you want to use it please enable beta "
 | 
					                       "not enabled. If you want to use it please enable beta "
 | 
				
			||||||
                       "functionalities by using the -b/--enable-beta command "
 | 
					                       "functionalities by using the -b/--enable-beta command "
 | 
				
			||||||
                       "line flag.")
 | 
					                       "line flag.")
 | 
				
			||||||
        return err_msg.format(self.arg, self.command)
 | 
					            fmt_args = [self.command, ]
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            err_msg = ("\'{}\' argument of \'{}\' command is beta, but beta "
 | 
				
			||||||
 | 
					                       "is not enabled. If you want to use it please enable "
 | 
				
			||||||
 | 
					                       "beta functionalities by using the -b/--enable-beta "
 | 
				
			||||||
 | 
					                       "command line flag.")
 | 
				
			||||||
 | 
					            fmt_args = [self.arg, self.command, ]
 | 
				
			||||||
 | 
					        return err_msg.format(*fmt_args)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class CdistObjectError(Error):
 | 
					class CdistObjectError(Error):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,6 +22,8 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# list of beta sub-commands
 | 
				
			||||||
 | 
					BETA_COMMANDS = ['install', ]
 | 
				
			||||||
# list of beta arguments for sub-commands
 | 
					# list of beta arguments for sub-commands
 | 
				
			||||||
BETA_ARGS = {
 | 
					BETA_ARGS = {
 | 
				
			||||||
    'config': ['jobs', ],
 | 
					    'config': ['jobs', ],
 | 
				
			||||||
| 
						 | 
					@ -49,6 +51,10 @@ def check_beta(args_dict):
 | 
				
			||||||
    # raise error.
 | 
					    # raise error.
 | 
				
			||||||
    if not args_dict['beta']:
 | 
					    if not args_dict['beta']:
 | 
				
			||||||
        cmd = args_dict['command']
 | 
					        cmd = args_dict['command']
 | 
				
			||||||
 | 
					        # first check if command is beta
 | 
				
			||||||
 | 
					        if cmd in BETA_COMMANDS:
 | 
				
			||||||
 | 
					            raise cdist.CdistBetaRequired(cmd)
 | 
				
			||||||
 | 
					        # then check if command's argument is beta
 | 
				
			||||||
        if cmd in BETA_ARGS:
 | 
					        if cmd in BETA_ARGS:
 | 
				
			||||||
            for arg in BETA_ARGS[cmd]:
 | 
					            for arg in BETA_ARGS[cmd]:
 | 
				
			||||||
                if arg in args_dict and args_dict[arg]:
 | 
					                if arg in args_dict and args_dict[arg]:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue