MCPcopy Index your code
hub / github.com/bugy/script-server / ParameterModel

Class ParameterModel

src/model/parameter_config.py:53–552  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51 'file_recursive',
52 'ui_width_weight')
53class ParameterModel(object):
54 def __init__(self, parameter_config, username, audit_name,
55 other_params_supplier,
56 process_invoker: ProcessInvoker,
57 other_param_values: ObservableDict = None,
58 working_dir=None):
59 self._username = username
60 self._audit_name = audit_name
61 self._parameters_supplier = other_params_supplier
62 self._working_dir = working_dir
63 self._process_invoker = process_invoker
64
65 self.name = parameter_config.get('name')
66 self.pass_as: PassAsConfiguration = _read_pass_as(parameter_config, self.name)
67 self.stdin_expected_text = parameter_config.get('stdin_expected_text')
68
69 self._original_config = parameter_config
70 self._parameter_value_wrappers = other_param_values
71
72 self._setup()
73
74 if (other_param_values is not None) \
75 and (self._values_provider is not None) \
76 and self._values_provider.get_required_parameters():
77 other_param_values.subscribe(self._param_values_observer)
78
79 def _setup(self):
80 config = self._original_config
81
82 self.param = config.get('param')
83 self.same_arg_param = read_bool_from_config('same_arg_param', config, default=False)
84 self.env_var = config.get('env_var')
85 self.no_value = read_bool_from_config('no_value', config, default=False)
86 self.description = replace_auth_vars(config.get('description'), self._username, self._audit_name)
87 self.required = read_bool_from_config('required', config, default=False)
88 self.min = config.get('min')
89 self.max = config.get('max')
90 self.max_length = config.get('max_length')
91 self.regex = config.get('regex')
92 self.secure = read_bool_from_config('secure', config, default=False)
93 self.separator = config.get('separator', ',')
94 self.multiselect_argument_type = read_str_from_config(
95 config,
96 'multiselect_argument_type',
97 default='single_argument',
98 allowed_values=['single_argument', 'argument_per_value', 'repeat_param_value'])
99 self.type = self._read_type(config)
100 self._set_default_value(
101 config.get('default'),
102 self._username,
103 self._audit_name,
104 self._working_dir,
105 self.type,
106 self._parameters_supplier(),
107 self._parameter_value_wrappers,
108 self._process_invoker)
109 self.file_dir = _resolve_file_dir(config, 'file_dir')
110 self._list_files_dir = _resolve_list_files_dir(self.file_dir, self._working_dir)

Callers 4

_init_parametersMethod · 0.90
_reload_parametersMethod · 0.90
create_parameter_modelFunction · 0.85

Calls

no outgoing calls

Tested by 2

create_parameter_modelFunction · 0.68