ciyidogan commited on
Commit
08c7d42
·
verified ·
1 Parent(s): f1aacf4

Update exceptions.py

Browse files
Files changed (1) hide show
  1. exceptions.py +13 -5
exceptions.py CHANGED
@@ -5,20 +5,28 @@ from typing import Optional, Dict, Any
5
  from datetime import datetime
6
 
7
  class FlareException(Exception):
8
- """Base exception for all Flare errors"""
9
  def __init__(self, message: str, details: Optional[Dict[str, Any]] = None):
10
- super().__init__(message)
11
  self.message = message
12
  self.details = details or {}
13
- self.timestamp = datetime.utcnow().isoformat()
 
14
 
15
  def to_dict(self) -> Dict[str, Any]:
16
- """Convert exception to dictionary for API responses"""
17
  return {
18
  "error": self.__class__.__name__,
19
  "message": self.message,
20
  "details": self.details,
21
- "timestamp": self.timestamp
 
 
 
 
 
 
 
 
22
  }
23
 
24
  class RaceConditionError(FlareException):
 
5
  from datetime import datetime
6
 
7
  class FlareException(Exception):
8
+ """Base exception for Flare"""
9
  def __init__(self, message: str, details: Optional[Dict[str, Any]] = None):
 
10
  self.message = message
11
  self.details = details or {}
12
+ self.timestamp = datetime.utcnow()
13
+ super().__init__(self.message)
14
 
15
  def to_dict(self) -> Dict[str, Any]:
16
+ """Convert exception to dictionary"""
17
  return {
18
  "error": self.__class__.__name__,
19
  "message": self.message,
20
  "details": self.details,
21
+ "timestamp": self.timestamp.isoformat()
22
+ }
23
+
24
+ def to_http_detail(self) -> Dict[str, Any]:
25
+ """Convert to HTTP response detail"""
26
+ return {
27
+ "detail": self.message,
28
+ "error_type": self.__class__.__name__.lower().replace('error', ''),
29
+ **self.details
30
  }
31
 
32
  class RaceConditionError(FlareException):