Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/sentry_sdk/integrations/argv.py: 57%

20 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1from __future__ import absolute_import 

2 

3import sys 

4 

5from sentry_sdk.hub import Hub 

6from sentry_sdk.integrations import Integration 

7from sentry_sdk.scope import add_global_event_processor 

8 

9from sentry_sdk._types import MYPY 

10 

11if MYPY: 11 ↛ 12line 11 didn't jump to line 12, because the condition on line 11 was never true

12 from typing import Optional 

13 

14 from sentry_sdk._types import Event, Hint 

15 

16 

17class ArgvIntegration(Integration): 

18 identifier = "argv" 

19 

20 @staticmethod 

21 def setup_once(): 

22 # type: () -> None 

23 @add_global_event_processor 

24 def processor(event, hint): 

25 # type: (Event, Optional[Hint]) -> Optional[Event] 

26 if Hub.current.get_integration(ArgvIntegration) is not None: 

27 extra = event.setdefault("extra", {}) 

28 # If some event processor decided to set extra to e.g. an 

29 # `int`, don't crash. Not here. 

30 if isinstance(extra, dict): 

31 extra["sys.argv"] = sys.argv 

32 

33 return event