Skip to content

Commit 9e41b8b

Browse files
committed
feat: Added sentry_minimal
1 parent e3ec973 commit 9e41b8b

2 files changed

Lines changed: 62 additions & 34 deletions

File tree

sentry_minimal.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
from contextlib import contextmanager
2+
3+
4+
__all__ = []
5+
6+
7+
def public(f):
8+
__all__.append(f.__name__)
9+
return f
10+
11+
12+
@public
13+
def capture_event(event):
14+
hub = Hub.current
15+
if hub is not None:
16+
return hub.capture_event(event)
17+
18+
19+
@public
20+
def capture_message(message, level=None):
21+
hub = Hub.current
22+
if hub is not None:
23+
return hub.capture_message(message, level)
24+
25+
26+
@public
27+
def capture_exception(error=None):
28+
hub = Hub.current
29+
if hub is not None:
30+
return hub.capture_exception(error)
31+
32+
33+
@public
34+
def add_breadcrumb(crumb):
35+
hub = Hub.current
36+
if hub is not None:
37+
return hub.add_breadcrumb(crumb)
38+
39+
40+
@public
41+
@contextmanager
42+
def configure_scope():
43+
hub = Hub.current
44+
if hub is not None:
45+
with hub.configure_scope() as scope:
46+
yield scope
47+
else:
48+
yield Scope()
49+
50+
51+
try:
52+
from sentry_sdk import Hub, Scope
53+
except ImportError:
54+
class Hub(object):
55+
current = main = None

sentry_sdk/api.py

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
import atexit
1+
from contextlib import contextmanager
2+
3+
import sentry_minimal
24

35
from .hub import Hub
6+
from .scope import Scope
47
from .client import Client
58

69

7-
__all__ = ['Hub', 'Client']
10+
__all__ = ['Hub', 'Client', 'init'] + sentry_minimal.__all__
811

912

10-
def public(f):
11-
__all__.append(f.__name__)
12-
return f
13+
for _key in sentry_minimal.__all__:
14+
globals()[_key] = getattr(sentry_minimal, _key)
1315

1416

1517
class _InitGuard(object):
@@ -26,37 +28,8 @@ def __exit__(self, exc_type, exc_value, tb):
2628
c.close()
2729

2830

29-
@public
3031
def init(*args, **kwargs):
3132
client = Client(*args, **kwargs)
3233
if client.dsn is not None:
3334
Hub.main.bind_client(client)
3435
return _InitGuard(client)
35-
36-
37-
@public
38-
def capture_event(event):
39-
hub = Hub.current
40-
if hub is not None:
41-
return hub.capture_event(event)
42-
43-
44-
@public
45-
def capture_message(message, level=None):
46-
hub = Hub.current
47-
if hub is not None:
48-
return hub.capture_message(message, level)
49-
50-
51-
@public
52-
def capture_exception(error=None):
53-
hub = Hub.current
54-
if hub is not None:
55-
return hub.capture_exception(error)
56-
57-
58-
@public
59-
def add_breadcrumb(crumb):
60-
hub = Hub.current
61-
if hub is not None:
62-
return hub.add_breadcrumb(crumb)

0 commit comments

Comments
 (0)