def check_param(args, param): if not args.has_key(param): exceptions.raise_exception( invalid_key_error % dict(key=param), exceptions.WEBIKEN_EXCEPTIONS["management_command_exception"] ) else: if args[param] is None or args[param] == "": exceptions.raise_exception( missing_arg_value % dict(key=param), exceptions.WEBIKEN_EXCEPTIONS["management_command_exception"] )
def check_params(args, params): if args is None or not isinstance(args, dict): exceptions.raise_exception( invalid_args_error % dict(key="arg", value="some_value"), exceptions.WEBIKEN_EXCEPTIONS["management_command_exception"], ) if params is None or not isinstance(params, tuple): exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR) for param in params: check_param(args, param)
def process_args(args=None, params=None, keys=None, description=""): keys = [] parser = argparse.ArgumentParser(description=description) if params is None: exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR) for k, v in params.iteritems(): keys.append(k) if not isinstance(v, dict): exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR) add_argument(parser, k, v) try: arguments = parser.parse_args() except BaseException, e: arg_list = [] some_value = "some_value" for k in keys: arg_list.append("%(key)s %(value)s" % dict(key=k, value=some_value)) args_error = "%(error_msg)s %(arg_list)s " % dict( error_msg=invalid_args_error, arg_list=" ".join([kv for kv in arg_list]) ) exceptions.raise_exception(args_error, exceptions.WEBIKEN_EXCEPTIONS["missing_argument_exception"])