timezone_tool / tool.py
peterbonnesoeur's picture
Extended the tool description
922f087
raw
history blame contribute delete
964 Bytes
from smolagents import Tool
from datetime import datetime
import pytz
class TimeZoneConversionTool(Tool):
name = "timezone_converter"
description = "Converts time between two time zones."
inputs = {
"time": {"type": "string", "description": "Time in 'YYYY-MM-DD HH:MM' format"},
"from_timezone": {"type": "string", "description": "Original time zone (e.g., 'Africa/Kinshasa', 'Europe/Zurich')"},
"to_timezone": {"type": "string", "description": "Target time zone (e.g., 'UTC', 'America/New_York')"}
}
output_type = "string"
def forward(self, time: str, from_timezone: str, to_timezone: str):
from_zone = pytz.timezone(from_timezone)
to_zone = pytz.timezone(to_timezone)
naive_time = datetime.strptime(time, "%Y-%m-%d %H:%M")
local_time = from_zone.localize(naive_time)
converted_time = local_time.astimezone(to_zone)
return converted_time.strftime("%Y-%m-%d %H:%M")