Hello community, here is the log from the commit of package python3-raven for openSUSE:Factory checked in at 2016-04-05 10:44:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-raven (Old) and /work/SRC/openSUSE:Factory/.python3-raven.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python3-raven" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-raven/python3-raven.changes 2016-03-29 10:39:54.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3-raven.new/python3-raven.changes 2016-04-05 10:44:05.000000000 +0200 @@ -1,0 +2,7 @@ +Sat Apr 2 03:42:06 UTC 2016 - arun@gmx.de + +- update to version 5.12.0: + * Empty and otherwise falsy (None, False, 0) DSN values are now + assumed to be equivalent to no DSN being provided. + +------------------------------------------------------------------- Old: ---- raven-5.11.2.tar.gz New: ---- raven-5.12.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-raven.spec ++++++ --- /var/tmp/diff_new_pack.8H7bUg/_old 2016-04-05 10:44:05.000000000 +0200 +++ /var/tmp/diff_new_pack.8H7bUg/_new 2016-04-05 10:44:05.000000000 +0200 @@ -17,7 +17,7 @@ Name: python3-raven -Version: 5.11.2 +Version: 5.12.0 Release: 0 Url: https://pypi.python.org/pypi/raven Summary: A client for Sentry ++++++ raven-5.11.2.tar.gz -> raven-5.12.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.11.2/PKG-INFO new/raven-5.12.0/PKG-INFO --- old/raven-5.11.2/PKG-INFO 2016-03-26 11:28:50.000000000 +0100 +++ new/raven-5.12.0/PKG-INFO 2016-03-30 00:07:14.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: raven -Version: 5.11.2 +Version: 5.12.0 Summary: Raven is a client for Sentry (https://getsentry.com) Home-page: https://github.com/getsentry/raven-python Author: Sentry diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.11.2/raven/base.py new/raven-5.12.0/raven/base.py --- old/raven-5.11.2/raven/base.py 2016-03-25 22:18:47.000000000 +0100 +++ new/raven-5.12.0/raven/base.py 2016-03-30 00:06:55.000000000 +0200 @@ -187,13 +187,13 @@ self.install_sys_hook() def set_dsn(self, dsn=None, transport=None): - if dsn is None and os.environ.get('SENTRY_DSN'): + if not dsn and os.environ.get('SENTRY_DSN'): msg = "Configuring Raven from environment variable 'SENTRY_DSN'" self.logger.debug(msg) dsn = os.environ['SENTRY_DSN'] if dsn not in self._transport_cache: - if dsn is None: + if not dsn: result = RemoteConfig(transport=transport) else: result = RemoteConfig.from_string( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.11.2/raven/context.py new/raven-5.12.0/raven/context.py --- old/raven-5.11.2/raven/context.py 2016-01-27 22:12:57.000000000 +0100 +++ new/raven-5.12.0/raven/context.py 2016-03-30 00:06:55.000000000 +0200 @@ -7,12 +7,38 @@ """ 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.11.2/raven/contrib/bottle/__init__.py new/raven-5.12.0/raven/contrib/bottle/__init__.py --- old/raven-5.11.2/raven/contrib/bottle/__init__.py 2015-07-12 10:30:42.000000000 +0200 +++ new/raven-5.12.0/raven/contrib/bottle/__init__.py 2016-03-29 19:13:31.000000000 +0200 @@ -65,7 +65,8 @@ # catch ANY exception that goes through... except Exception: self.handle_exception(exc_info=sys.exc_info()) - return self.app(environ, session_start_response) + # re-raise the exception to let parent handlers deal with it + raise def captureException(self, *args, **kwargs): assert self.client, 'captureException called before application configured' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.11.2/raven.egg-info/PKG-INFO new/raven-5.12.0/raven.egg-info/PKG-INFO --- old/raven-5.11.2/raven.egg-info/PKG-INFO 2016-03-26 11:28:50.000000000 +0100 +++ new/raven-5.12.0/raven.egg-info/PKG-INFO 2016-03-30 00:07:14.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: raven -Version: 5.11.2 +Version: 5.12.0 Summary: Raven is a client for Sentry (https://getsentry.com) Home-page: https://github.com/getsentry/raven-python Author: Sentry diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.11.2/setup.py new/raven-5.12.0/setup.py --- old/raven-5.11.2/setup.py 2016-03-25 22:21:37.000000000 +0100 +++ new/raven-5.12.0/setup.py 2016-03-30 00:06:55.000000000 +0200 @@ -97,7 +97,7 @@ 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', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.11.2/tests/base/tests.py new/raven-5.12.0/tests/base/tests.py --- old/raven-5.11.2/tests/base/tests.py 2016-02-12 18:48:35.000000000 +0100 +++ new/raven-5.12.0/tests/base/tests.py 2016-03-30 00:06:55.000000000 +0200 @@ -6,6 +6,7 @@ import raven import time import six +import os from raven.base import Client, ClientState from raven.exceptions import RateLimited @@ -94,6 +95,15 @@ assert base.Raven is client assert client is not client2 + def test_client_picks_up_env_dsn(self): + DSN = 'sync+http://public:secret@example.com/1' + PUBLIC_DSN = '//public@example.com/1' + with mock.patch.dict(os.environ, {'SENTRY_DSN': DSN}): + client = Client() + assert client.remote.get_public_dsn() == PUBLIC_DSN + client = Client('') + assert client.remote.get_public_dsn() == PUBLIC_DSN + @mock.patch('raven.transport.http.HTTPTransport.send') @mock.patch('raven.base.ClientState.should_try') def test_send_remote_failover(self, should_try, send):