Fix CI issues: sort imports and enable Jinja2 autoescape

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-04-20 14:40:08 +00:00
parent 15dd15fcab
commit 11386e69bf
6 changed files with 22 additions and 13 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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