Add Google Contacts integration and fix critical Windows issues

- Add People API integration with contact management tools (create, list, get)
- Fix OAuth flow: replace deprecated OOB with localhost callback
- Fix Ctrl+C handling with proper signal handlers for graceful shutdown
- Fix UTF-8 encoding in scheduled_tasks.py for Windows compatibility
- Add users/ directory to gitignore to protect personal data

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-14 15:12:01 -07:00
parent 19af20e700
commit 0eb5d2cab4
7 changed files with 557 additions and 52 deletions

View File

@@ -93,7 +93,7 @@ class TaskScheduler:
# Track file modification time
self._last_mtime = self.config_file.stat().st_mtime
with open(self.config_file) as f:
with open(self.config_file, encoding="utf-8") as f:
config = yaml.safe_load(f) or {}
self.tasks.clear() # Clear existing tasks before reload
@@ -155,7 +155,7 @@ class TaskScheduler:
}
self.config_file.parent.mkdir(parents=True, exist_ok=True)
with open(self.config_file, "w") as f:
with open(self.config_file, "w", encoding="utf-8") as f:
yaml.dump(
default_config, f,
default_flow_style=False,