chore: remove trailing spaces and ensure newline
This commit is contained in:
@@ -42,7 +42,7 @@ def _write_tokens(tokens):
|
||||
"""Write tokens to storage."""
|
||||
# Create directory for the token file if it doesn't exist
|
||||
os.makedirs(os.path.dirname(TOKEN_FILE) if os.path.dirname(TOKEN_FILE) else '.', exist_ok=True)
|
||||
|
||||
|
||||
basecamp_data_to_write = tokens.get('basecamp', {})
|
||||
updated_at_to_write = basecamp_data_to_write.get('updated_at')
|
||||
_logger.info(f"Writing tokens to {TOKEN_FILE}. Basecamp token updated_at to be written: {updated_at_to_write}")
|
||||
@@ -50,7 +50,7 @@ def _write_tokens(tokens):
|
||||
# Set secure permissions on the file
|
||||
with open(TOKEN_FILE, 'w') as f:
|
||||
json.dump(tokens, f, indent=2)
|
||||
|
||||
|
||||
# Set permissions to only allow the current user to read/write
|
||||
try:
|
||||
os.chmod(TOKEN_FILE, 0o600)
|
||||
@@ -60,27 +60,27 @@ def _write_tokens(tokens):
|
||||
def store_token(access_token, refresh_token=None, expires_in=None, account_id=None):
|
||||
"""
|
||||
Store OAuth tokens securely.
|
||||
|
||||
|
||||
Args:
|
||||
access_token (str): The OAuth access token
|
||||
refresh_token (str, optional): The OAuth refresh token
|
||||
expires_in (int, optional): Token expiration time in seconds
|
||||
account_id (str, optional): The Basecamp account ID
|
||||
|
||||
|
||||
Returns:
|
||||
bool: True if the token was stored successfully
|
||||
"""
|
||||
if not access_token:
|
||||
return False # Don't store empty tokens
|
||||
|
||||
|
||||
with _lock:
|
||||
tokens = _read_tokens()
|
||||
|
||||
|
||||
# Calculate expiration time
|
||||
expires_at = None
|
||||
if expires_in:
|
||||
expires_at = (datetime.now() + timedelta(seconds=expires_in)).isoformat()
|
||||
|
||||
|
||||
# Store the token with metadata
|
||||
tokens['basecamp'] = {
|
||||
'access_token': access_token,
|
||||
@@ -89,14 +89,14 @@ def store_token(access_token, refresh_token=None, expires_in=None, account_id=No
|
||||
'expires_at': expires_at,
|
||||
'updated_at': datetime.now().isoformat()
|
||||
}
|
||||
|
||||
|
||||
_write_tokens(tokens)
|
||||
return True
|
||||
|
||||
def get_token():
|
||||
"""
|
||||
Get the stored OAuth token.
|
||||
|
||||
|
||||
Returns:
|
||||
dict: Token information or None if not found
|
||||
"""
|
||||
@@ -107,17 +107,17 @@ def get_token():
|
||||
def is_token_expired():
|
||||
"""
|
||||
Check if the stored token is expired.
|
||||
|
||||
|
||||
Returns:
|
||||
bool: True if the token is expired or not found
|
||||
"""
|
||||
with _lock:
|
||||
tokens = _read_tokens()
|
||||
token_data = tokens.get('basecamp')
|
||||
|
||||
|
||||
if not token_data or not token_data.get('expires_at'):
|
||||
return True
|
||||
|
||||
|
||||
try:
|
||||
expires_at = datetime.fromisoformat(token_data['expires_at'])
|
||||
# Add a buffer of 5 minutes to account for clock differences
|
||||
@@ -130,4 +130,4 @@ def clear_tokens():
|
||||
with _lock:
|
||||
if os.path.exists(TOKEN_FILE):
|
||||
os.remove(TOKEN_FILE)
|
||||
return True
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user