Ejemplo n.º 1
0
def _wrap_values(user_values, parameters):
    result = {}
    for parameter in parameters:
        name = parameter.name

        if parameter.constant:
            value = parameter.default
            result[name] = _Value(None, value, value,
                                  parameter.value_to_str(value))
            continue

        if name in user_values:
            user_value = user_values[name]

            if parameter.no_value:
                bool_value = model_helper.read_bool(user_value)
                result[name] = _Value(user_value, bool_value, bool_value)
                continue

            elif user_value:
                mapped_value = parameter.map_to_script(user_value)
                script_arg = parameter.to_script_args(mapped_value)
                secure_value = parameter.get_secured_value(script_arg)
                result[name] = _Value(user_value, mapped_value, script_arg,
                                      secure_value)
        else:
            result[name] = _Value(None, None, None)

    return result
Ejemplo n.º 2
0
def _build_env_variables(parameter_values, parameters):
    result = {}
    excluded = []
    for param_name, value in parameter_values.items():
        if isinstance(value, list) or (value is None):
            continue

        found_parameters = [p for p in parameters if p.name == param_name]
        if len(found_parameters) != 1:
            continue

        parameter = found_parameters[0]

        env_var = parameter.env_var
        if env_var is None:
            env_var = _to_env_name(param_name)

        if (not env_var) or (env_var in excluded):
            continue

        if env_var in result:
            excluded.append(env_var)
            del result[env_var]
            continue

        if parameter.no_value:
            if (value is not None) and (read_bool(value) == True):
                result[env_var] = 'true'
            continue

        result[env_var] = str(value)

    return result
Ejemplo n.º 3
0
def _wrap_values(user_values, parameters):
    result = {}
    for parameter in parameters:
        name = parameter.name

        if parameter.constant:
            value = parameter.default
            result[name] = _Value(None, value, value, parameter.value_to_str(value))
            continue

        if name in user_values:
            user_value = user_values[name]

            if parameter.no_value:
                bool_value = model_helper.read_bool(user_value)
                result[name] = _Value(user_value, bool_value, bool_value)
                continue

            elif user_value:
                mapped_value = parameter.map_to_script(user_value)
                script_arg = parameter.to_script_args(mapped_value)
                secure_value = parameter.get_secured_value(script_arg)
                result[name] = _Value(user_value, mapped_value, script_arg, secure_value)
        else:
            result[name] = _Value(None, None, None)

    return result
Ejemplo n.º 4
0
    def __init__(self, application, request, **kwargs):
        super().__init__(application, request, **kwargs)

        self.config_model = None
        self.config_name = None
        self.user = None
        self.config_id = str(uuid.uuid4())

        self.init_with_values = read_bool(
            self.get_query_argument('initWithValues', default='false'))

        self.parameters_listener = self._create_parameters_listener()
Ejemplo n.º 5
0
    def __init__(self, application, request, **kwargs):
        super().__init__(application, request, **kwargs)

        self.config_model = None
        self.config_name = None
        self.user = None
        self.config_id = str(uuid.uuid4())

        self.init_with_values = read_bool(self.get_query_argument('initWithValues', default='false'))

        self.parameters_listener = self._create_parameters_listener()
        self._executor = ThreadPoolExecutor(max_workers=1, thread_name_prefix='-model-' + self.config_id)
        self._parameter_events_queue = []
        self._latest_client_state_version = None