Skip to content

Commit 78a924d

Browse files
committed
fix: handle None/relative db_path in state tracker
1 parent 55a7e79 commit 78a924d

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

pop_pay/client.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
from pop_pay.core.state import PopStateTracker
66

77
class PopClient:
8-
def __init__(self, provider: VirtualCardProvider, policy: GuardrailPolicy, engine: GuardrailEngine = None, db_path: str = "pop_state.db"):
8+
def __init__(self, provider: VirtualCardProvider, policy: GuardrailPolicy, engine: GuardrailEngine = None, db_path: str = None):
99
self.provider = provider
1010
self.policy = policy
11-
self.state_tracker = PopStateTracker(db_path=db_path)
11+
from pop_pay.core.state import DEFAULT_DB_PATH
12+
self.state_tracker = PopStateTracker(db_path=db_path or DEFAULT_DB_PATH)
1213
self.engine = engine if engine is not None else GuardrailEngine()
1314

1415
async def process_payment(self, intent: PaymentIntent) -> VirtualSeal:

pop_pay/core/state.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111

1212
class PopStateTracker:
1313
def __init__(self, db_path: str = DEFAULT_DB_PATH):
14-
os.makedirs(os.path.dirname(db_path), exist_ok=True)
14+
parent = os.path.dirname(db_path)
15+
if parent:
16+
os.makedirs(parent, exist_ok=True)
1517
self.db_path = db_path
1618
# We keep the connection open for the lifetime of the tracker
1719
# This is especially important for :memory: databases

0 commit comments

Comments
 (0)