Skip to content

Commit 817db85

Browse files
committed
refac
1 parent 8cdd674 commit 817db85

3 files changed

Lines changed: 57 additions & 63 deletions

File tree

gcalendar/calendar_tools.py

Lines changed: 38 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -376,9 +376,9 @@ async def get_events(
376376
if event_id:
377377
logger.info(f"[get_events] Retrieving single event with ID: {event_id}")
378378
event = await asyncio.to_thread(
379-
lambda: (
380-
service.events().get(calendarId=calendar_id, eventId=event_id).execute()
381-
)
379+
lambda: service.events()
380+
.get(calendarId=calendar_id, eventId=event_id)
381+
.execute()
382382
)
383383
items = [event]
384384
else:
@@ -701,15 +701,13 @@ async def create_event(
701701
if drive_service:
702702
try:
703703
file_metadata = await asyncio.to_thread(
704-
lambda: (
705-
drive_service.files()
706-
.get(
707-
fileId=file_id,
708-
fields="mimeType,name",
709-
supportsAllDrives=True,
710-
)
711-
.execute()
704+
lambda: drive_service.files()
705+
.get(
706+
fileId=file_id,
707+
fields="mimeType,name",
708+
supportsAllDrives=True,
712709
)
710+
.execute()
713711
)
714712
mime_type = file_metadata.get("mimeType", mime_type)
715713
filename = file_metadata.get("name")
@@ -737,28 +735,24 @@ async def create_event(
737735
if drive_service:
738736
drive_service.close()
739737
created_event = await asyncio.to_thread(
740-
lambda: (
741-
service.events()
742-
.insert(
743-
calendarId=calendar_id,
744-
body=event_body,
745-
supportsAttachments=True,
746-
conferenceDataVersion=1 if add_google_meet else 0,
747-
)
748-
.execute()
738+
lambda: service.events()
739+
.insert(
740+
calendarId=calendar_id,
741+
body=event_body,
742+
supportsAttachments=True,
743+
conferenceDataVersion=1 if add_google_meet else 0,
749744
)
745+
.execute()
750746
)
751747
else:
752748
created_event = await asyncio.to_thread(
753-
lambda: (
754-
service.events()
755-
.insert(
756-
calendarId=calendar_id,
757-
body=event_body,
758-
conferenceDataVersion=1 if add_google_meet else 0,
759-
)
760-
.execute()
749+
lambda: service.events()
750+
.insert(
751+
calendarId=calendar_id,
752+
body=event_body,
753+
conferenceDataVersion=1 if add_google_meet else 0,
761754
)
755+
.execute()
762756
)
763757
link = created_event.get("htmlLink", "No link available")
764758
confirmation_message = f"Successfully created event '{created_event.get('summary', summary)}' for {user_google_email}. Link: {link}"
@@ -982,9 +976,9 @@ async def modify_event(
982976
# Get the existing event to preserve fields that aren't being updated
983977
try:
984978
existing_event = await asyncio.to_thread(
985-
lambda: (
986-
service.events().get(calendarId=calendar_id, eventId=event_id).execute()
987-
)
979+
lambda: service.events()
980+
.get(calendarId=calendar_id, eventId=event_id)
981+
.execute()
988982
)
989983
logger.info(
990984
"[modify_event] Successfully retrieved existing event before update"
@@ -1041,16 +1035,14 @@ async def modify_event(
10411035

10421036
# Proceed with the update
10431037
updated_event = await asyncio.to_thread(
1044-
lambda: (
1045-
service.events()
1046-
.update(
1047-
calendarId=calendar_id,
1048-
eventId=event_id,
1049-
body=event_body,
1050-
conferenceDataVersion=1,
1051-
)
1052-
.execute()
1038+
lambda: service.events()
1039+
.update(
1040+
calendarId=calendar_id,
1041+
eventId=event_id,
1042+
body=event_body,
1043+
conferenceDataVersion=1,
10531044
)
1045+
.execute()
10541046
)
10551047

10561048
link = updated_event.get("htmlLink", "No link available")
@@ -1104,9 +1096,9 @@ async def delete_event(
11041096
# Try to get the event first to verify it exists
11051097
try:
11061098
await asyncio.to_thread(
1107-
lambda: (
1108-
service.events().get(calendarId=calendar_id, eventId=event_id).execute()
1109-
)
1099+
lambda: service.events()
1100+
.get(calendarId=calendar_id, eventId=event_id)
1101+
.execute()
11101102
)
11111103
logger.info("[delete_event] Successfully verified event exists before deletion")
11121104
except HttpError as get_error:
@@ -1123,9 +1115,9 @@ async def delete_event(
11231115

11241116
# Proceed with the deletion
11251117
await asyncio.to_thread(
1126-
lambda: (
1127-
service.events().delete(calendarId=calendar_id, eventId=event_id).execute()
1128-
)
1118+
lambda: service.events()
1119+
.delete(calendarId=calendar_id, eventId=event_id)
1120+
.execute()
11291121
)
11301122

11311123
confirmation_message = f"Successfully deleted event (ID: {event_id}) from calendar '{calendar_id}' for {user_google_email}."

gsheets/sheets_tools.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ async def _format_sheet_range_impl(
402402
font_size: Font size in points.
403403
404404
Returns:
405-
Formatted string with confirmation of applied formatting.
405+
Dictionary with keys: range_name, spreadsheet_id, summary.
406406
"""
407407
# Validate at least one formatting option is provided
408408
has_any_format = any(
@@ -596,10 +596,13 @@ async def _format_sheet_range_impl(
596596
applied_parts.append(f"font size {font_size}")
597597

598598
summary = ", ".join(applied_parts)
599-
return (
600-
f"Applied formatting to range '{range_name}' in spreadsheet {spreadsheet_id}: "
601-
f"{summary}."
602-
)
599+
600+
# Return structured data for the wrapper to format
601+
return {
602+
"range_name": range_name,
603+
"spreadsheet_id": spreadsheet_id,
604+
"summary": summary
605+
}
603606

604607

605608
@server.tool()
@@ -674,11 +677,10 @@ async def format_sheet_range(
674677
font_size=font_size,
675678
)
676679

677-
# Add user email to confirmation for the tool response
678-
return result.replace(
679-
f"Applied formatting to range '{range_name}' in spreadsheet {spreadsheet_id}:",
680-
f"Applied formatting to range '{range_name}' in spreadsheet {spreadsheet_id} "
681-
f"for {user_google_email}:",
680+
# Build confirmation message with user email
681+
return (
682+
f"Applied formatting to range '{result['range_name']}' in spreadsheet "
683+
f"{result['spreadsheet_id']} for {user_google_email}: {result['summary']}."
682684
)
683685

684686

tests/gsheets/test_format_sheet_range.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ async def test_format_wrap_strategy_wrap():
3838
wrap_strategy="WRAP",
3939
)
4040

41-
assert "test_spreadsheet_123" in result
42-
assert "A1:C10" in result
41+
assert result["spreadsheet_id"] == "test_spreadsheet_123"
42+
assert result["range_name"] == "A1:C10"
4343

4444
call_args = mock_service.spreadsheets().batchUpdate.call_args
4545
request_body = call_args[1]["body"]
@@ -59,7 +59,7 @@ async def test_format_wrap_strategy_clip():
5959
wrap_strategy="CLIP",
6060
)
6161

62-
assert "test_spreadsheet_123" in result
62+
assert result["spreadsheet_id"] == "test_spreadsheet_123"
6363
call_args = mock_service.spreadsheets().batchUpdate.call_args
6464
request_body = call_args[1]["body"]
6565
cell_format = request_body["requests"][0]["repeatCell"]["cell"]["userEnteredFormat"]
@@ -96,7 +96,7 @@ async def test_format_horizontal_alignment_center():
9696
horizontal_alignment="CENTER",
9797
)
9898

99-
assert "test_spreadsheet_123" in result
99+
assert result["spreadsheet_id"] == "test_spreadsheet_123"
100100
call_args = mock_service.spreadsheets().batchUpdate.call_args
101101
request_body = call_args[1]["body"]
102102
cell_format = request_body["requests"][0]["repeatCell"]["cell"]["userEnteredFormat"]
@@ -310,7 +310,7 @@ async def test_format_all_new_params_with_existing():
310310
font_size=12,
311311
)
312312

313-
assert "test_spreadsheet_123" in result
313+
assert result["spreadsheet_id"] == "test_spreadsheet_123"
314314
call_args = mock_service.spreadsheets().batchUpdate.call_args
315315
request_body = call_args[1]["body"]
316316
cell_format = request_body["requests"][0]["repeatCell"]["cell"]["userEnteredFormat"]
@@ -432,5 +432,5 @@ async def test_format_confirmation_message_includes_new_params():
432432
font_size=14,
433433
)
434434

435-
assert "test_spreadsheet_123" in result
436-
assert "A1:C10" in result
435+
assert result["spreadsheet_id"] == "test_spreadsheet_123"
436+
assert result["range_name"] == "A1:C10"

0 commit comments

Comments
 (0)