refactor: Update Component class to handle missing inputs in custom components
Handle the case where inputs are missing in custom components by setting them to None and logging a warning. This ensures compatibility with the latest version of the langflow library and improves code robustness.
This commit is contained in:
parent
5cee0660e8
commit
2f9932da6d
1 changed files with 9 additions and 2 deletions
|
|
@ -60,6 +60,10 @@ class Component(CustomComponent):
|
||||||
if key in self.__dict__:
|
if key in self.__dict__:
|
||||||
raise ValueError(f"Key {key} already exists in {self.__class__.__name__}")
|
raise ValueError(f"Key {key} already exists in {self.__class__.__name__}")
|
||||||
setattr(self, key, value)
|
setattr(self, key, value)
|
||||||
|
for input_ in self.inputs:
|
||||||
|
if input_.name not in params:
|
||||||
|
setattr(self, input_.name, None)
|
||||||
|
logger.warning(f"Input {input_.name} not found in arguments")
|
||||||
self._arguments = params
|
self._arguments = params
|
||||||
|
|
||||||
def _set_outputs(self, outputs: List[dict]):
|
def _set_outputs(self, outputs: List[dict]):
|
||||||
|
|
@ -141,5 +145,8 @@ class Component(CustomComponent):
|
||||||
return build_config
|
return build_config
|
||||||
|
|
||||||
def _get_field_order(self):
|
def _get_field_order(self):
|
||||||
inputs = self.template_config["inputs"]
|
try:
|
||||||
return [field.name for field in inputs]
|
inputs = self.template_config["inputs"]
|
||||||
|
return [field.name for field in inputs]
|
||||||
|
except KeyError:
|
||||||
|
return []
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue