Hello community, here is the log from the commit of package python3-raven for openSUSE:Factory checked in at 2015-09-30 05:49:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2015-07-20 11:23:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3-raven.new/python3-raven.changes 2015-09-30 05:49:30.000000000 +0200 @@ -1,0 +2,8 @@ +Sun Aug 16 00:43:00 UTC 2015 - arun@gmx.de + +- update to version 5.5.0: + * Added "sys.excepthook" handler (installed by default). + * Fixed an issue where "wrap_wsgi" wasn't being respected. + * Various deprecated code removed. + +------------------------------------------------------------------- Old: ---- raven-5.4.4.tar.gz New: ---- raven-5.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-raven.spec ++++++ --- /var/tmp/diff_new_pack.vKPzHW/_old 2015-09-30 05:49:31.000000000 +0200 +++ /var/tmp/diff_new_pack.vKPzHW/_new 2015-09-30 05:49:31.000000000 +0200 @@ -17,7 +17,7 @@ Name: python3-raven -Version: 5.4.4 +Version: 5.5.0 Release: 0 Url: https://pypi.python.org/pypi/raven Summary: A client for Sentry ++++++ raven-5.4.4.tar.gz -> raven-5.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/PKG-INFO new/raven-5.5.0/PKG-INFO --- old/raven-5.4.4/PKG-INFO 2015-07-13 23:58:35.000000000 +0200 +++ new/raven-5.5.0/PKG-INFO 2015-07-22 17:02:21.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: raven -Version: 5.4.4 +Version: 5.5.0 Summary: Raven is a client for Sentry (https://www.getsentry.com) Home-page: https://github.com/getsentry/raven-python Author: David Cramer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/raven/base.py new/raven-5.5.0/raven/base.py --- old/raven-5.4.4/raven/base.py 2015-06-28 21:58:25.000000000 +0200 +++ new/raven-5.5.0/raven/base.py 2015-07-16 08:09:12.000000000 +0200 @@ -35,6 +35,8 @@ __all__ = ('Client',) +__excepthook__ = None + PLATFORM_NAME = 'python' # singleton for the client @@ -117,7 +119,8 @@ _registry = TransportRegistry(transports=default_transports) - def __init__(self, dsn=None, raise_send_errors=False, transport=None, **options): + def __init__(self, dsn=None, raise_send_errors=False, transport=None, + install_sys_hook=True, **options): global Raven o = options @@ -139,7 +142,7 @@ self.include_paths = set(o.get('include_paths') or []) self.exclude_paths = set(o.get('exclude_paths') or []) - self.name = six.text_type(o.get('name') or defaults.NAME) + self.name = six.text_type(o.get('name') or o.get('machine') or defaults.NAME) self.auto_log_stacks = bool( o.get('auto_log_stacks') or defaults.AUTO_LOG_STACKS) self.capture_locals = bool( @@ -148,7 +151,7 @@ o.get('string_max_length') or defaults.MAX_LENGTH_STRING) self.list_max_length = int( o.get('list_max_length') or defaults.MAX_LENGTH_LIST) - self.site = o.get('site', defaults.SITE) + self.site = o.get('site') self.include_versions = o.get('include_versions', True) self.processors = o.get('processors') if self.processors is None: @@ -163,7 +166,6 @@ self.module_cache = ModuleProxyCache() - # servers may be set to a NoneType (for Django) if not self.is_enabled(): self.logger.info( 'Raven is not configured (logging is disabled). Please see the' @@ -174,6 +176,9 @@ self._context = Context() + if install_sys_hook: + self.install_sys_hook() + def set_dsn(self, dsn=None, transport=None): if dsn is None and os.environ.get('SENTRY_DSN'): msg = "Configuring Raven from environment variable 'SENTRY_DSN'" @@ -196,6 +201,17 @@ self.logger.debug("Configuring Raven for host: {0}".format(self.remote)) + def install_sys_hook(self): + global __excepthook__ + + if __excepthook__ is None: + __excepthook__ = sys.excepthook + + def handle_exception(*exc_info): + self.captureException(exc_info=exc_info) + __excepthook__(*exc_info) + sys.excepthook = handle_exception + @classmethod def register_scheme(cls, scheme, transport_class): cls._registry.register_scheme(scheme, transport_class) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/raven/conf/defaults.py new/raven-5.5.0/raven/conf/defaults.py --- old/raven-5.4.4/raven/conf/defaults.py 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/raven/conf/defaults.py 2015-07-16 08:14:57.000000000 +0200 @@ -15,9 +15,6 @@ ROOT = os.path.normpath(os.path.join(os.path.dirname(__file__), os.pardir)) -# This should be the full URL to sentries store view -SERVERS = None - TIMEOUT = 1 # TODO: this is specific to Django @@ -28,20 +25,6 @@ # will set it to None and require it passed in to ``Client`` on initializtion. NAME = socket.gethostname() if hasattr(socket, 'gethostname') else None -# Superuser key -- will be used if set, otherwise defers to -# SECRET_KEY and PUBLIC_KEY -KEY = None - -# Credentials to authenticate with the Sentry server -SECRET_KEY = None -PUBLIC_KEY = None - -# We allow setting the site name either by explicitly setting it with the -# SENTRY_SITE setting, or using the django.contrib.sites framework for -# fetching the current site. Since we can't reliably query the database -# from this module, the specific logic is within the SiteFilter -SITE = None - # The maximum number of elements to store for a list-like structure. MAX_LENGTH_LIST = 50 @@ -59,9 +42,6 @@ 'raven.processors.SanitizePasswordsProcessor', ) -# Default Project ID -PROJECT = 1 - try: # Try for certifi first since they likely keep their bundle more up to date import certifi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/raven/contrib/django/models.py new/raven-5.5.0/raven/contrib/django/models.py --- old/raven-5.4.4/raven/contrib/django/models.py 2015-07-13 01:57:54.000000000 +0200 +++ new/raven-5.5.0/raven/contrib/django/models.py 2015-07-16 08:09:03.000000000 +0200 @@ -123,7 +123,6 @@ if _client[0] != client or reset: ga = lambda x, d=None: getattr(settings, 'SENTRY_%s' % x, d) options = copy.deepcopy(getattr(settings, 'RAVEN_CONFIG', {})) - options.setdefault('servers', ga('SERVERS')) options.setdefault('include_paths', ga('INCLUDE_PATHS', [])) options['include_paths'] = set(options['include_paths']) | get_installed_apps() options.setdefault('exclude_paths', ga('EXCLUDE_PATHS')) @@ -133,9 +132,6 @@ options.setdefault('string_max_length', ga('MAX_LENGTH_STRING')) options.setdefault('list_max_length', ga('MAX_LENGTH_LIST')) options.setdefault('site', ga('SITE')) - options.setdefault('public_key', ga('PUBLIC_KEY')) - options.setdefault('secret_key', ga('SECRET_KEY')) - options.setdefault('project', ga('PROJECT')) options.setdefault('processors', ga('PROCESSORS')) options.setdefault('dsn', ga('DSN')) options.setdefault('context', ga('CONTEXT')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/raven/contrib/flask.py new/raven-5.5.0/raven/contrib/flask.py --- old/raven-5.4.4/raven/contrib/flask.py 2015-07-13 01:57:54.000000000 +0200 +++ new/raven-5.5.0/raven/contrib/flask.py 2015-07-22 16:57:31.000000000 +0200 @@ -45,11 +45,7 @@ transport=transport, include_paths=set(app.config.get('SENTRY_INCLUDE_PATHS', [])) | set([app.import_name]), exclude_paths=app.config.get('SENTRY_EXCLUDE_PATHS'), - servers=app.config.get('SENTRY_SERVERS'), name=app.config.get('SENTRY_NAME'), - public_key=app.config.get('SENTRY_PUBLIC_KEY'), - secret_key=app.config.get('SENTRY_SECRET_KEY'), - project=app.config.get('SENTRY_PROJECT'), site=app.config.get('SENTRY_SITE_NAME'), processors=app.config.get('SENTRY_PROCESSORS'), string_max_length=app.config.get('SENTRY_MAX_LENGTH_STRING'), @@ -241,7 +237,7 @@ if wrap_wsgi is not None: self.wrap_wsgi = wrap_wsgi - else: + elif self.wrap_wsgi is None: # Fix https://github.com/getsentry/raven-python/issues/412 # the gist is that we get errors twice in debug mode if we don't do this if app and app.debug: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/raven/contrib/zope/component.xml new/raven-5.5.0/raven/contrib/zope/component.xml --- old/raven-5.4.4/raven/contrib/zope/component.xml 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/raven/contrib/zope/component.xml 2015-07-16 08:09:54.000000000 +0200 @@ -8,18 +8,14 @@ datatype="raven.contrib.zope.ZopeSentryHandlerFactory" implements="ZConfig.logger.handler" extends="ZConfig.logger.base-log-handler"> - <key name="servers" required="no"/> <key name="include_paths" required="no" datatype="string-list"/> <key name="exclude_paths" required="no" datatype="string-list"/> <key name="timeout" required="no" datatype="integer"/> <key name="name" required="no"/> <key name="auto_log_stacks" required="no" datatype="boolean"/> - <key name="key" required="no"/> <key name="string_max_length" required="no" datatype="integer"/> <key name="list_max_length" required="no" datatype="integer"/> <key name="site" required="no"/> - <key name="public_key" required="no"/> - <key name="secret_key" required="no"/> <key name="processors" required="no" datatype="string-list"/> <key name="project" required="no"/> <key name="dsn" required="no"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/raven/handlers/logging.py new/raven-5.5.0/raven/handlers/logging.py --- old/raven-5.4.4/raven/handlers/logging.py 2015-03-25 00:29:49.000000000 +0100 +++ new/raven-5.5.0/raven/handlers/logging.py 2015-07-16 08:10:05.000000000 +0200 @@ -42,9 +42,6 @@ )) elif 'client' in kwargs: self.client = kwargs['client'] - elif len(args) == 2 and not kwargs: - servers, key = args - self.client = client(servers=servers, key=key) else: self.client = client(*args, **kwargs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/raven.egg-info/PKG-INFO new/raven-5.5.0/raven.egg-info/PKG-INFO --- old/raven-5.4.4/raven.egg-info/PKG-INFO 2015-07-13 23:58:34.000000000 +0200 +++ new/raven-5.5.0/raven.egg-info/PKG-INFO 2015-07-22 17:02:20.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: raven -Version: 5.4.4 +Version: 5.5.0 Summary: Raven is a client for Sentry (https://www.getsentry.com) Home-page: https://github.com/getsentry/raven-python Author: David Cramer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/setup.py new/raven-5.5.0/setup.py --- old/raven-5.4.4/setup.py 2015-07-13 23:58:21.000000000 +0200 +++ new/raven-5.5.0/setup.py 2015-07-22 17:00:04.000000000 +0200 @@ -95,7 +95,7 @@ setup( name='raven', - version='5.4.4', + version='5.5.0', author='David Cramer', author_email='dcramer@gmail.com', url='https://github.com/getsentry/raven-python', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/base/tests.py new/raven-5.5.0/tests/base/tests.py --- old/raven-5.4.4/tests/base/tests.py 2015-07-11 17:29:55.000000000 +0200 +++ new/raven-5.5.0/tests/base/tests.py 2015-07-16 08:13:04.000000000 +0200 @@ -16,9 +16,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True @@ -124,13 +124,13 @@ # test error send.side_effect = RateLimited('foo', 5) - client.send_remote('sync+http://example.com/api/store', client.encode({})) + client.send_remote('sync+http://example.com/api/1/store/', client.encode({})) self.assertEquals(client.state.status, client.state.ERROR) self.assertEqual(client.state.retry_after, 5) # test recovery send.side_effect = None - client.send_remote('sync+http://example.com/api/store', client.encode({})) + client.send_remote('sync+http://example.com/api/1/store/', client.encode({})) self.assertEquals(client.state.status, client.state.ONLINE) self.assertEqual(client.state.retry_after, 0) @@ -143,25 +143,22 @@ get_transport.return_value = async_transport client = Client( - servers=['http://example.com'], - public_key='public', - secret_key='secret', - project=1, + dsn='http://public:secret@example.com/1', ) # test immediate raise of error async_send.side_effect = Exception() - client.send_remote('http://example.com/api/store', client.encode({})) + client.send_remote('http://example.com/api/1/store/', client.encode({})) self.assertEquals(client.state.status, client.state.ERROR) # test recovery - client.send_remote('http://example.com/api/store', client.encode({})) + client.send_remote('http://example.com/api/1/store/', client.encode({})) success_cb = async_send.call_args[0][2] success_cb() self.assertEquals(client.state.status, client.state.ONLINE) # test delayed raise of error - client.send_remote('http://example.com/api/store', client.encode({})) + client.send_remote('http://example.com/api/1/store/', client.encode({})) failure_cb = async_send.call_args[0][3] failure_cb(Exception()) self.assertEquals(client.state.status, client.state.ERROR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/contrib/bottle/tests.py new/raven-5.5.0/tests/contrib/bottle/tests.py --- old/raven-5.4.4/tests/contrib/bottle/tests.py 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/tests/contrib/bottle/tests.py 2015-07-16 08:10:52.000000000 +0200 @@ -10,9 +10,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/contrib/flask/tests.py new/raven-5.5.0/tests/contrib/flask/tests.py --- old/raven-5.4.4/tests/contrib/flask/tests.py 2015-05-14 01:30:13.000000000 +0200 +++ new/raven-5.5.0/tests/contrib/flask/tests.py 2015-07-16 08:10:59.000000000 +0200 @@ -12,9 +12,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/contrib/pylons/tests.py new/raven-5.5.0/tests/contrib/pylons/tests.py --- old/raven-5.4.4/tests/contrib/pylons/tests.py 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/tests/contrib/pylons/tests.py 2015-07-16 08:11:13.000000000 +0200 @@ -12,8 +12,6 @@ def test_init(self): config = { - 'sentry.servers': 'http://localhost/api/store', - 'sentry.public_key': 'p' * 32, - 'sentry.secret_key': 's' * 32, + 'sentry.dsn': 'http://public:secret@example.com/1', } middleware = Sentry(self.app, config) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/contrib/webpy/tests.py new/raven-5.5.0/tests/contrib/webpy/tests.py --- old/raven-5.4.4/tests/contrib/webpy/tests.py 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/tests/contrib/webpy/tests.py 2015-07-16 08:11:25.000000000 +0200 @@ -7,9 +7,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/contrib/zerorpc/tests.py new/raven-5.5.0/tests/contrib/zerorpc/tests.py --- old/raven-5.4.4/tests/contrib/zerorpc/tests.py 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/tests/contrib/zerorpc/tests.py 2015-07-16 08:11:29.000000000 +0200 @@ -13,9 +13,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/handlers/logbook/tests.py new/raven-5.5.0/tests/handlers/logbook/tests.py --- old/raven-5.4.4/tests/handlers/logbook/tests.py 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/tests/handlers/logbook/tests.py 2015-07-16 08:11:34.000000000 +0200 @@ -9,9 +9,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/handlers/logging/tests.py new/raven-5.5.0/tests/handlers/logging/tests.py --- old/raven-5.4.4/tests/handlers/logging/tests.py 2015-05-26 10:27:10.000000000 +0200 +++ new/raven-5.5.0/tests/handlers/logging/tests.py 2015-07-16 08:11:44.000000000 +0200 @@ -12,9 +12,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True @@ -227,10 +227,6 @@ handler = SentryHandler(client=client) self.assertEqual(handler.client, client) - def test_args_as_servers_and_key(self): - handler = SentryHandler(['http://sentry.local/api/store/'], 'KEY') - self.assertTrue(isinstance(handler.client, Client)) - def test_first_arg_as_dsn(self): handler = SentryHandler('http://public:secret@example.com/1') self.assertTrue(isinstance(handler.client, Client)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raven-5.4.4/tests/middleware/tests.py new/raven-5.5.0/tests/middleware/tests.py --- old/raven-5.4.4/tests/middleware/tests.py 2015-01-09 21:53:49.000000000 +0100 +++ new/raven-5.5.0/tests/middleware/tests.py 2015-07-16 08:11:49.000000000 +0200 @@ -10,9 +10,9 @@ class TempStoreClient(Client): - def __init__(self, servers=None, **kwargs): + def __init__(self, **kwargs): self.events = [] - super(TempStoreClient, self).__init__(servers=servers, **kwargs) + super(TempStoreClient, self).__init__(**kwargs) def is_enabled(self): return True