MCPcopy Index your code
hub / github.com/pathwaycom/pathway / _resolve_variable

Method _resolve_variable

python/pathway/internals/yaml_loader.py:139–161  ·  view source on GitHub ↗
(self, v: Variable)

Source from the content-addressed store, hash-verified

137 return type(self)(parent=self, context=context, done=self.done)
138
139 def _resolve_variable(self, v: Variable) -> object:
140 if v in self.context:
141 return self.resolve(self.context[v])
142
143 if self.parent is not None:
144 return self.parent.resolve_variable(v)
145
146 if all(c.upper() or c == "_" for c in v.name):
147 s = os.environ.get(v.name)
148 if s is not None:
149 # using yaml.Loader instead of PathwayYamlLoader to prevent recursive
150 # parsing of environment variables
151 parsed_value = yaml.load(s, yaml.Loader)
152 if (
153 isinstance(parsed_value, int)
154 or isinstance(parsed_value, float)
155 or isinstance(parsed_value, bool)
156 ):
157 return parsed_value
158 else:
159 return s
160
161 raise KeyError(f"variable {v} is not defined")
162
163 def resolve_variable(self, v: Variable) -> object:
164 res = self._resolve_variable(v)

Callers 1

resolve_variableMethod · 0.95

Calls 5

resolveMethod · 0.95
resolve_variableMethod · 0.80
upperMethod · 0.80
loadMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected