@@ -46,9 +46,10 @@ def get_params(settings) -> Union[HawkCatcherSettings, None]:
4646 settings .get ('token' )),
4747 'release' : settings .get ('release' ),
4848 'before_send' : settings .get ('before_send' ),
49+ 'context' : settings .get ('context' , None )
4950 }
5051
51- def handler (self , exc_cls : type , exc : Exception , tb : traceback , context = None , user = None ):
52+ def handler (self , exc_cls : type , exc : Exception , tb : traceback , context = None , user = None , addons = None ):
5253 """
5354 Catch, prepare and send error
5455
@@ -61,6 +62,10 @@ def handler(self, exc_cls: type, exc: Exception, tb: traceback, context=None, us
6162
6263 if not self .params :
6364 return
65+
66+ # in case passed context is empty set default from config
67+ if context is None :
68+ context = self .params .get ('context' )
6469
6570 ex_message = traceback .format_exception_only (exc_cls , exc )[- 1 ]
6671 ex_message = ex_message .strip ()
@@ -71,6 +76,9 @@ def handler(self, exc_cls: type, exc: Exception, tb: traceback, context=None, us
7176 'value' : context
7277 }
7378
79+ if addons is None :
80+ addons = {}
81+
7482 event = {
7583 'token' : self .params ['token' ],
7684 'catcherType' : 'errors/python' ,
@@ -81,7 +89,8 @@ def handler(self, exc_cls: type, exc: Exception, tb: traceback, context=None, us
8189 'release' : self .params ['release' ],
8290 'context' : context ,
8391 'catcherVersion' : hawkcatcher .__version__ ,
84- 'user' : user
92+ 'user' : user ,
93+ 'addons' : addons
8594 }
8695 }
8796
@@ -99,7 +108,7 @@ def send_to_collector(self, event):
99108 except Exception as e :
100109 print ('[Hawk] Can\' t send error cause of %s' % e )
101110
102- def send (self , event : Exception = None , context = None , user = None ):
111+ def send (self , event : Exception = None , context = None , user = None , addons = None ):
103112 """
104113 Method for manually send error to Hawk
105114 :param event: event to send
@@ -110,9 +119,9 @@ def send(self, event: Exception = None, context=None, user=None):
110119 exc_cls , exc , tb = sys .exc_info ()
111120
112121 if event is not None :
113- self .handler (type (event ), event , tb , context , user )
122+ self .handler (type (event ), event , tb , context , user , addons )
114123 else :
115- self .handler (exc_cls , exc , tb , context , user )
124+ self .handler (exc_cls , exc , tb , context , user , addons )
116125
117126 @staticmethod
118127 def parse_traceback (tb ):
0 commit comments