Spaces:
Running
Running
import uuid | |
from typing import Any | |
from typing_extensions import override | |
from langflow.custom import Component | |
from langflow.io import MessageTextInput, Output | |
from langflow.schema import dotdict | |
from langflow.schema.message import Message | |
class IDGeneratorComponent(Component): | |
display_name = "ID Generator" | |
description = "Generates a unique ID." | |
icon = "fingerprint" | |
name = "IDGenerator" | |
inputs = [ | |
MessageTextInput( | |
name="unique_id", | |
display_name="Value", | |
info="The generated unique ID.", | |
refresh_button=True, | |
), | |
] | |
outputs = [ | |
Output(display_name="ID", name="id", method="generate_id"), | |
] | |
def update_build_config(self, build_config: dotdict, field_value: Any, field_name: str | None = None): | |
if field_name == "unique_id": | |
build_config[field_name]["value"] = str(uuid.uuid4()) | |
return build_config | |
def generate_id(self) -> Message: | |
unique_id = self.unique_id or str(uuid.uuid4()) | |
self.status = f"Generated ID: {unique_id}" | |
return Message(text=unique_id) | |