fix: 캘린더 종료 시간(end_time) 지원 — 1시간 고정 제거

create_draft/create_confirmed에 end_time 파라미터 추가.
없으면 기본 1시간, 있으면 사용자 지정 종료 시간 사용.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-06 14:12:07 +09:00
parent 131022eb12
commit f73c46de3a
3 changed files with 12 additions and 5 deletions

View File

@@ -104,15 +104,17 @@ async def search(date_from: str, date_to: str) -> dict:
return _make_result(False, "search", error=str(e))
async def create_draft(title: str, date: str, time: str, description: str = "") -> dict:
"""일정 생성 초안 (실제 생성 함)."""
async def create_draft(title: str, date: str, time: str, description: str = "", end_time: str = "") -> dict:
"""일정 생성 초안 (실제 생성 <EFBFBD><EFBFBD><EFBFBD> 함)."""
title = title or "일정"
time_display = f"{time} ~ {end_time}" if end_time else time
draft = {
"title": title,
"date": date,
"time": time,
"end_time": end_time,
"description": description,
"display": f"📅 제목: {title}\n날짜: {date} {time}\n설명: {description or '없음'}",
"display": f"📅 제목: {title}\n날짜: {date} {time_display}\n설명: {description or '없음'}",
}
return _make_result(True, "create_draft", data=draft, summary=draft["display"])
@@ -127,10 +129,14 @@ async def create_confirmed(draft_data: dict) -> dict:
title = draft_data.get("title", "일정")
date_str = draft_data.get("date", "")
time_str = draft_data.get("time", "00:00")
end_time_str = draft_data.get("end_time", "")
description = draft_data.get("description", "")
dt_start = datetime.strptime(f"{date_str} {time_str}", "%Y-%m-%d %H:%M")
dt_end = dt_start + timedelta(hours=1)
if end_time_str:
dt_end = datetime.strptime(f"{date_str} {end_time_str}", "%Y-%m-%d %H:%M")
else:
dt_end = dt_start + timedelta(hours=1)
uid = str(uuid.uuid4())
vcal = f"""BEGIN:VCALENDAR