voiceCal-ai-v2 / refresh_credentials.py
pgits's picture
Fix credential refresh happening on every message instead of per session
2bd510c
#!/usr/bin/env python3
"""
Manual credential refresh script for SSH debugging on HuggingFace Spaces.
This script can be run via Dev Mode SSH to manually refresh Google Calendar credentials.
Usage via SSH:
ssh -i ~/.ssh/id_ed25519 pgits-voicecal-ai@ssh.hf.space
cd /app && python refresh_credentials.py
"""
import sys
import os
sys.path.insert(0, '/app')
from app.calendar.auth import CalendarAuth
from app.config import settings
def main():
print("πŸ”§ Manual Google Calendar Credential Refresh Tool")
print("=" * 60)
try:
# Initialize calendar auth
print("πŸ“‹ Initializing CalendarAuth...")
auth = CalendarAuth()
# Check current credentials
print("πŸ” Checking current credentials...")
credentials = auth.load_credentials()
if not credentials:
print("❌ No credentials found. Please authenticate via OAuth first.")
return
print(f"πŸ“… Current expiry: {credentials.expiry}")
print(f"πŸ” Token expired: {credentials.expired}")
if credentials.expired:
if credentials.refresh_token:
print("πŸ”„ Refreshing expired credentials...")
from google.auth.transport.requests import Request
credentials.refresh(Request())
auth.save_credentials(credentials)
print("βœ… Credentials refreshed successfully!")
print(f"πŸ“… New expiry: {credentials.expiry}")
else:
print("❌ No refresh token available. Full re-authentication required.")
else:
print("βœ… Credentials are still valid - no refresh needed.")
except Exception as e:
print(f"πŸ’₯ Error: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
main()