summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES6
-rw-r--r--raven/context.py26
-rwxr-xr-xsetup.py2
3 files changed, 33 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 0522ffb..017c69f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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.
diff --git a/setup.py b/setup.py
index 77dd5a5..4e9e32b 100755
--- a/setup.py
+++ b/setup.py
@@ -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',