Timothy J. Baek hace 10 meses
padre
commit
6bad71adca
Se han modificado 2 ficheros con 16 adiciones y 4 borrados
  1. 7 0
      backend/apps/webui/main.py
  2. 9 4
      backend/apps/webui/utils.py

+ 7 - 0
backend/apps/webui/main.py

@@ -116,6 +116,13 @@ async def get_pipe_models():
         else:
         else:
             function_module = app.state.FUNCTIONS[pipe.id]
             function_module = app.state.FUNCTIONS[pipe.id]
 
 
+        if hasattr(function_module, "valves") and hasattr(function_module, "Valves"):
+            print(f"Getting valves for {pipe.id}")
+            valves = Functions.get_function_valves_by_id(pipe.id)
+            function_module.valves = function_module.Valves(
+                **(valves if valves else {})
+            )
+
         # Check if function is a manifold
         # Check if function is a manifold
         if hasattr(function_module, "type"):
         if hasattr(function_module, "type"):
             if function_module.type == "manifold":
             if function_module.type == "manifold":

+ 9 - 4
backend/apps/webui/utils.py

@@ -16,12 +16,16 @@ def extract_frontmatter(file_path):
 
 
     try:
     try:
         with open(file_path, "r", encoding="utf-8") as file:
         with open(file_path, "r", encoding="utf-8") as file:
+            first_line = file.readline()
+            if first_line.strip() != '"""':
+                # The file doesn't start with triple quotes
+                return {}
+
+            frontmatter_started = True
+
             for line in file:
             for line in file:
                 if '"""' in line:
                 if '"""' in line:
-                    if not frontmatter_started:
-                        frontmatter_started = True
-                        continue  # skip the line with the opening triple quotes
-                    else:
+                    if frontmatter_started:
                         frontmatter_ended = True
                         frontmatter_ended = True
                         break
                         break
 
 
@@ -30,6 +34,7 @@ def extract_frontmatter(file_path):
                     if match:
                     if match:
                         key, value = match.groups()
                         key, value = match.groups()
                         frontmatter[key.strip()] = value.strip()
                         frontmatter[key.strip()] = value.strip()
+
     except FileNotFoundError:
     except FileNotFoundError:
         print(f"Error: The file {file_path} does not exist.")
         print(f"Error: The file {file_path} does not exist.")
         return {}
         return {}