in templates/python/facebook_business/crashreporter.py [0:0]
def __build_param(self, etype, tb):
if not etype:
return None
fb_request_errors = [cls.__name__ for cls in FacebookError.__subclasses__()]
reason = None
if etype.__name__ == FacebookRequestError.__name__:
reason = Reasons.API
elif etype.__name__ in fb_request_errors:
reason = Reasons.SDK
if reason is None:
extracted_tb = traceback.extract_tb(tb, limit=100)
for ii, (filename, line, funcname, code) in enumerate(extracted_tb):
if filename.find('facebook_business') != -1:
reason = Reasons.SDK
if reason is None:
return None
return {
'reason': "{} : {}".format(reason.value, etype.__name__),
'callstack': traceback.format_tb(tb),
'platform': sys.version
};