mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-11 00:58:30 +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):
|
if var_name in inputs and isinstance(inputs[var_name], list):
|
||||||
try:
|
try:
|
||||||
idx = int(index)
|
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}]}}"
|
placeholder = f"{{{var_name}[{index}]}}"
|
||||||
value = str(inputs[var_name][idx])
|
value = str(list_value[idx])
|
||||||
result = result.replace(placeholder, value)
|
result = result.replace(placeholder, value)
|
||||||
except (ValueError, IndexError):
|
except (ValueError, IndexError):
|
||||||
pass
|
pass
|
||||||
@@ -564,9 +565,10 @@ class Task(BaseModel):
|
|||||||
if var_name in inputs and isinstance(inputs[var_name], list):
|
if var_name in inputs and isinstance(inputs[var_name], list):
|
||||||
try:
|
try:
|
||||||
idx = int(index)
|
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}]}}"
|
placeholder = f"{{{var_name}[{index}]}}"
|
||||||
value = str(inputs[var_name][idx])
|
value = str(list_value[idx])
|
||||||
result = result.replace(placeholder, value)
|
result = result.replace(placeholder, value)
|
||||||
except (ValueError, IndexError):
|
except (ValueError, IndexError):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
from typing import Any, Dict, List, Optional, Union
|
|
||||||
import jinja2
|
|
||||||
import re
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import re
|
||||||
|
from typing import Any, Dict, List, Optional, Union
|
||||||
|
|
||||||
|
import jinja2
|
||||||
|
|
||||||
def to_jinja_template(input_string: str) -> str:
|
def to_jinja_template(input_string: str) -> str:
|
||||||
"""
|
"""
|
||||||
@@ -64,6 +65,7 @@ def render_template(
|
|||||||
|
|
||||||
env = jinja2.Environment(
|
env = jinja2.Environment(
|
||||||
undefined=jinja2.StrictUndefined, # Raise errors for undefined variables
|
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)
|
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
|
import re
|
||||||
from typing import Any, Dict, List, Optional, Union
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from typing import Any, Dict, List, Optional, Union
|
||||||
|
|
||||||
from crewai.utilities.jinja_templating import render_template
|
from crewai.utilities.jinja_templating import render_template
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import pytest
|
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
import pytest
|
||||||
from typing import Dict, List
|
from typing import Dict, List
|
||||||
|
|
||||||
from crewai.agent import Agent
|
from crewai.agent import Agent
|
||||||
from crewai.task import Task
|
from crewai.task import Task
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
import pytest
|
|
||||||
import datetime
|
import datetime
|
||||||
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
|
import pytest
|
||||||
from pydantic import BaseModel
|
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):
|
class Person(BaseModel):
|
||||||
name: str
|
name: str
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from typing import Any, Dict, List, Union
|
|
||||||
import datetime
|
import datetime
|
||||||
|
from typing import Any, Dict, List, Union
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user