(self, order_key: str, code: str, now: Optional[float] = None)
| 208 | _INFLIGHT_EMAILS.pop(email_norm, None) |
| 209 | |
| 210 | def _is_recent_code(self, order_key: str, code: str, now: Optional[float] = None) -> bool: |
| 211 | if not order_key or not code: |
| 212 | return False |
| 213 | now_ts = now or time.time() |
| 214 | ttl = max(int(self.config.get("code_reuse_ttl") or 600), 0) |
| 215 | order_cache = self._recent_codes_by_order.get(order_key) or {} |
| 216 | if ttl <= 0: |
| 217 | return code in order_cache |
| 218 | used_at = order_cache.get(code) |
| 219 | if used_at is None: |
| 220 | return False |
| 221 | return (now_ts - used_at) <= ttl |
| 222 | |
| 223 | def _remember_code(self, order_key: str, code: str, now: Optional[float] = None) -> None: |
| 224 | if not order_key or not code: |
no test coverage detected