Skip to content

Commit 73ed3ea

Browse files
wesmclaude
andcommitted
fix: Resolve pyright type checking errors in retry_logic
Fixed two pyright type errors: - Changed operation parameter type to Callable[[], Awaitable[T]] - Added null check for last_error before raising This resolves CI failures while maintaining existing behavior. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 22fae35 commit 73ed3ea

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

moneyflow/retry_logic.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"""
77

88
import asyncio
9-
from typing import Callable, TypeVar, Optional
9+
from typing import Callable, TypeVar, Optional, Awaitable
1010
from .logging_config import get_logger
1111

1212
logger = get_logger(__name__)
@@ -21,7 +21,7 @@ class RetryAborted(Exception):
2121

2222

2323
async def retry_with_backoff(
24-
operation: Callable[[], T],
24+
operation: Callable[[], Awaitable[T]],
2525
operation_name: str,
2626
max_retries: int = 5,
2727
initial_wait: float = 60.0,
@@ -86,5 +86,8 @@ async def retry_with_backoff(
8686
logger.info(f"{operation_name} retry cancelled by user")
8787
raise RetryAborted(f"User cancelled {operation_name}")
8888

89-
# All retries exhausted
90-
raise last_error
89+
# All retries exhausted - last_error will always be set since we enter the loop
90+
if last_error is not None:
91+
raise last_error
92+
else:
93+
raise Exception(f"{operation_name} failed after {max_retries} attempts")

0 commit comments

Comments
 (0)