Пример #1
0
def build_command_args(param_values,
                       config,
                       stringify=lambda value, param: value):
    result = []

    for parameter in config.get_parameters():
        name = parameter.get_name()

        if parameter.is_constant():
            param_values[parameter.name] = model_helper.get_default(parameter)

        if name in param_values:
            value = param_values[name]

            if parameter.is_no_value():
                # do not replace == True, since REST service can start accepting boolean as string
                if (value is True) or (value == 'true'):
                    result.append(parameter.get_param())
            else:
                if value:
                    if parameter.get_param():
                        result.append(parameter.get_param())

                    value_string = stringify(value, parameter)
                    result.append(value_string)

    return result
Пример #2
0
def build_command_args(param_values,
                       config,
                       stringify=lambda value, param: value):
    result = []

    for parameter in config.get_parameters():
        name = parameter.get_name()

        if parameter.is_constant():
            param_values[parameter.name] = model_helper.get_default(parameter)

        if name in param_values:
            value = param_values[name]

            if parameter.is_no_value():
                # do not replace == True, since REST service can start accepting boolean as string
                if (value is True) or (value == 'true'):
                    result.append(parameter.get_param())
            elif value:
                if parameter.get_param():
                    result.append(parameter.get_param())

                if parameter.type == 'multiselect':
                    strings = [
                        stringify(element, parameter) for element in value
                    ]
                    if parameter.multiple_arguments:
                        result.extend(strings)
                    else:
                        result.append(parameter.separator.join(strings))
                else:
                    value_string = stringify(value, parameter)
                    result.append(value_string)

    return result
Пример #3
0
    def test_env_variable(self):
        parameter = script_configs.Parameter()
        parameter.set_default('$$test_val')

        os.environ[self.env_key] = 'text'

        default = model_helper.get_default(parameter)
        self.assertEqual(default, 'text')
Пример #4
0
def config_to_json(config):
    parameters = []
    for parameter in config.get_parameters():
        if parameter.is_constant():
            continue

        parameters.append({
            "name": parameter.get_name(),
            "description": parameter.get_description(),
            "withoutValue": parameter.is_no_value(),
            "required": parameter.is_required(),
            "default": model_helper.get_default(parameter),
            "type": parameter.type,
            "min": parameter.get_min(),
            "max": parameter.get_max(),
            "values": parameter.get_values(),
            "secure": parameter.secure
        })

    return json.dumps({
        "name": config.get_name(),
        "description": config.get_description(),
        "parameters": parameters
    })
Пример #5
0
    def test_bool_value(self):
        parameter = script_configs.Parameter()
        parameter.set_default(True)

        default = model_helper.get_default(parameter)
        self.assertEqual(default, True)
Пример #6
0
    def test_unicode_value(self):
        parameter = script_configs.Parameter()
        parameter.set_default(u'text')

        default = model_helper.get_default(parameter)
        self.assertEqual(default, u'text')
Пример #7
0
    def test_empty_value(self):
        parameter = script_configs.Parameter()
        parameter.set_default('')

        default = model_helper.get_default(parameter)
        self.assertEqual(default, '')
Пример #8
0
    def test_no_value(self):
        parameter = script_configs.Parameter()

        default = model_helper.get_default(parameter)
        self.assertEqual(default, None)