mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 00:28:31 +00:00
Fix CI issues: sort imports and enable Jinja2 autoescape
Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
@@ -533,9 +533,10 @@ class Task(BaseModel):
|
||||
if var_name in inputs and isinstance(inputs[var_name], list):
|
||||
try:
|
||||
idx = int(index)
|
||||
if 0 <= idx < len(inputs[var_name]):
|
||||
list_value = inputs[var_name]
|
||||
if isinstance(list_value, list) and 0 <= idx < len(list_value):
|
||||
placeholder = f"{{{var_name}[{index}]}}"
|
||||
value = str(inputs[var_name][idx])
|
||||
value = str(list_value[idx])
|
||||
result = result.replace(placeholder, value)
|
||||
except (ValueError, IndexError):
|
||||
pass
|
||||
@@ -564,9 +565,10 @@ class Task(BaseModel):
|
||||
if var_name in inputs and isinstance(inputs[var_name], list):
|
||||
try:
|
||||
idx = int(index)
|
||||
if 0 <= idx < len(inputs[var_name]):
|
||||
list_value = inputs[var_name]
|
||||
if isinstance(list_value, list) and 0 <= idx < len(list_value):
|
||||
placeholder = f"{{{var_name}[{index}]}}"
|
||||
value = str(inputs[var_name][idx])
|
||||
value = str(list_value[idx])
|
||||
result = result.replace(placeholder, value)
|
||||
except (ValueError, IndexError):
|
||||
pass
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import Any, Dict, List, Optional, Union
|
||||
import jinja2
|
||||
import re
|
||||
from datetime import datetime
|
||||
import re
|
||||
from typing import Any, Dict, List, Optional, Union
|
||||
|
||||
import jinja2
|
||||
|
||||
def to_jinja_template(input_string: str) -> str:
|
||||
"""
|
||||
@@ -64,6 +65,7 @@ def render_template(
|
||||
|
||||
env = jinja2.Environment(
|
||||
undefined=jinja2.StrictUndefined, # Raise errors for undefined variables
|
||||
autoescape=True # Enable autoescaping for security
|
||||
)
|
||||
|
||||
env.filters['date'] = lambda d, format='%Y-%m-%d': d.strftime(format) if isinstance(d, datetime) else str(d)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import re
|
||||
from typing import Any, Dict, List, Optional, Union
|
||||
from datetime import datetime
|
||||
from typing import Any, Dict, List, Optional, Union
|
||||
|
||||
from crewai.utilities.jinja_templating import render_template
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import pytest
|
||||
import datetime
|
||||
|
||||
import pytest
|
||||
from typing import Dict, List
|
||||
|
||||
from crewai.agent import Agent
|
||||
from crewai.task import Task
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import pytest
|
||||
import datetime
|
||||
from typing import Any, Dict, List
|
||||
|
||||
import pytest
|
||||
from pydantic import BaseModel
|
||||
from typing import List, Dict, Any
|
||||
from crewai.utilities.jinja_templating import to_jinja_template, render_template
|
||||
|
||||
from crewai.utilities.jinja_templating import render_template, to_jinja_template
|
||||
|
||||
class Person(BaseModel):
|
||||
name: str
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from typing import Any, Dict, List, Union
|
||||
import datetime
|
||||
from typing import Any, Dict, List, Union
|
||||
|
||||
import pytest
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
Reference in New Issue
Block a user