diff options
-rw-r--r-- | CHANGES | 6 | ||||
-rw-r--r-- | raven/context.py | 26 | ||||
-rwxr-xr-x | setup.py | 2 |
3 files changed, 33 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Version 5.12.0 +-------------- + +* Empty and otherwise falsy (None, False, 0) DSN values are now assumed + to be equivalent to no DSN being provided. + Version 5.11.2 -------------- diff --git a/raven/context.py b/raven/context.py index b1c3d7b..6fd7891 100644 --- a/raven/context.py +++ b/raven/context.py @@ -7,12 +7,38 @@ raven.context """ from __future__ import absolute_import +import time + from collections import Mapping, Iterable +from datetime import datetime from threading import local from raven._compat import iteritems +class BreadcrumbBuffer(object): + + def __init__(self, limit=100): + self.buffer = [] + self.limit = limit + + def record(self, type, data=None, timestamp=None): + if timestamp is None: + timestamp = time.time() + elif isinstance(timestamp, datetime): + timestamp = datetime + + self.buffer.append({ + 'type': type, + 'timestamp': timestamp, + 'data': data or {}, + }) + del self.buffer[:-self.limit] + + def clear(self): + del self.buffer[:] + + class Context(local, Mapping, Iterable): """ Stores context until cleared. @@ -97,7 +97,7 @@ class PyTest(TestCommand): setup( name='raven', - version='5.11.2', + version='5.12.0', author='Sentry', author_email='hello@getsentry.com', url='https://github.com/getsentry/raven-python', |