Esempio n. 1
0
    def do_request(self, *args, **kwargs):
        store = {}
        tear_down_ = partial(tear_down, store)

        request_started.connect(set_up)
        request_finished.connect(tear_down_)
        template_rendered.connect(store_rendered_template)
        if message_flashed:
            message_flashed.connect(store_flashed_message)

        if self.use_session_scopes:
            scope = SessionScope(self.db)
            scope.push()
        try:
            response = super(TestApp, self).do_request(*args, **kwargs)
        finally:
            if self.use_session_scopes:
                scope.pop()
            template_rendered.disconnect(store_rendered_template)
            request_finished.disconnect(tear_down_)
            request_started.disconnect(set_up)
            if message_flashed:
                message_flashed.disconnect(store_flashed_message)

        response.session = store.get('session', {})
        response.flashes = store.get('flashes', [])
        response.contexts = dict(store.get('contexts', []))
        return response
Esempio n. 2
0
    def do_request(self, *args, **kwargs):
        store = {}
        tear_down_ = partial(tear_down, store)

        request_started.connect(set_up)
        request_finished.connect(tear_down_)
        template_rendered.connect(store_rendered_template)
        if message_flashed:
            message_flashed.connect(store_flashed_message)

        if self.use_session_scopes:
            scope = SessionScope(self.db)
            scope.push()
        try:
            response = super(TestApp, self).do_request(*args, **kwargs)
        finally:
            if self.use_session_scopes:
                scope.pop()
            template_rendered.disconnect(store_rendered_template)
            request_finished.disconnect(tear_down_)
            request_started.disconnect(set_up)
            if message_flashed:
                message_flashed.disconnect(store_flashed_message)

        response.session = store.get('session', {})
        response.flashes = store.get('flashes', [])
        response.contexts = dict(store.get('contexts', []))
        return response
Esempio n. 3
0
 def init_app(self, app, dsn = None, logging = None, level = None, logging_exclusions = None, wrap_wsgi = None, register_signal = None):
     if dsn is not None:
         self.dsn = dsn
     if level is not None:
         self.level = level
     if wrap_wsgi is not None:
         self.wrap_wsgi = wrap_wsgi
     elif self.wrap_wsgi is None:
         if app and app.debug:
             self.wrap_wsgi = False
         else:
             self.wrap_wsgi = True
     if register_signal is not None:
         self.register_signal = register_signal
     if logging is not None:
         self.logging = logging
     if logging_exclusions is not None:
         self.logging_exclusions = logging_exclusions
     if not self.client:
         self.client = make_client(self.client_cls, app, self.dsn)
     if self.logging:
         kwargs = {}
         if self.logging_exclusions is not None:
             kwargs['exclude'] = self.logging_exclusions
         setup_logging(SentryHandler(self.client, level=self.level), **kwargs)
     if self.wrap_wsgi:
         app.wsgi_app = SentryMiddleware(app.wsgi_app, self.client)
     app.before_request(self.before_request)
     if self.register_signal:
         got_request_exception.connect(self.handle_exception, sender=app)
         request_finished.connect(self.after_request, sender=app)
     if not hasattr(app, 'extensions'):
         app.extensions = {}
     app.extensions['sentry'] = self
Esempio n. 4
0
    def init_app(self, app, dsn=None, logging=None, level=None, wrap_wsgi=None, register_signal=None):
        if dsn is not None:
            self.dsn = dsn

        if level is not None:
            self.level = level

        if wrap_wsgi is not None:
            self.wrap_wsgi = wrap_wsgi

        if register_signal is not None:
            self.register_signal = register_signal

        if logging is not None:
            self.logging = logging

        if not self.client:
            self.client = make_client(self.client_cls, app, self.dsn)

        if self.logging:
            setup_logging(SentryHandler(self.client, level=self.level))

        if self.wrap_wsgi:
            app.wsgi_app = SentryMiddleware(app.wsgi_app, self.client)

        app.before_request(self.before_request)

        if self.register_signal:
            got_request_exception.connect(self.handle_exception, sender=app)
            request_finished.connect(self.add_sentry_id_header, sender=app)

        if not hasattr(app, "extensions"):
            app.extensions = {}
        app.extensions["sentry"] = self
Esempio n. 5
0
    def init_app(self, app, dsn=None, logging=None, level=None, wrap_wsgi=None,
                 register_signal=None):
        if dsn is not None:
            self.dsn = dsn

        if level is not None:
            self.level = level

        if wrap_wsgi is not None:
            self.wrap_wsgi = wrap_wsgi

        if register_signal is not None:
            self.register_signal = register_signal

        if logging is not None:
            self.logging = logging

        if not self.client:
            self.client = make_client(self.client_cls, app, self.dsn)

        if self.logging:
            setup_logging(SentryHandler(self.client, level=self.level))

        if self.wrap_wsgi:
            app.wsgi_app = SentryMiddleware(app.wsgi_app, self.client)

        app.before_request(self.before_request)

        if self.register_signal:
            got_request_exception.connect(self.handle_exception, sender=app)
            request_finished.connect(self.add_sentry_id_header, sender=app)

        if not hasattr(app, 'extensions'):
            app.extensions = {}
        app.extensions['sentry'] = self
Esempio n. 6
0
    def init_app(self,
                 app,
                 dsn=None,
                 logging=None,
                 level=None,
                 logging_exclusions=None,
                 wrap_wsgi=None,
                 register_signal=None):
        if dsn is not None:
            self.dsn = dsn

        if level is not None:
            self.level = level

        if wrap_wsgi is not None:
            self.wrap_wsgi = wrap_wsgi
        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:
                self.wrap_wsgi = False
            else:
                self.wrap_wsgi = True

        if register_signal is not None:
            self.register_signal = register_signal

        if logging is not None:
            self.logging = logging

        if logging_exclusions is not None:
            self.logging_exclusions = logging_exclusions

        if not self.client:
            self.client = make_client(self.client_cls, app, self.dsn)

        if self.logging:
            kwargs = {}
            if self.logging_exclusions is not None:
                kwargs['exclude'] = self.logging_exclusions

            handler = SentryHandler(self.client, level=self.level)
            setup_logging(handler, **kwargs)

            logging_configured.send(self,
                                    sentry_handler=SentryHandler,
                                    **kwargs)

        if self.wrap_wsgi:
            app.wsgi_app = SentryMiddleware(app.wsgi_app, self.client)

        app.before_request(self.before_request)

        if self.register_signal:
            got_request_exception.connect(self.handle_exception, sender=app)
            request_finished.connect(self.after_request, sender=app)

        if not hasattr(app, 'extensions'):
            app.extensions = {}
        app.extensions['sentry'] = self
Esempio n. 7
0
    def init_app(self, app, dsn=None, logging=None, level=None,
                 logging_exclusions=None, wrap_wsgi=None,
                 register_signal=None):
        if dsn is not None:
            self.dsn = dsn

        if level is not None:
            self.level = level

        if wrap_wsgi is not None:
            self.wrap_wsgi = wrap_wsgi
        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:
                self.wrap_wsgi = False
            else:
                self.wrap_wsgi = True

        if register_signal is not None:
            self.register_signal = register_signal

        if logging is not None:
            self.logging = logging

        if logging_exclusions is not None:
            self.logging_exclusions = logging_exclusions

        if not self.client:
            self.client = make_client(self.client_cls, app, self.dsn)

        if self.logging:
            kwargs = {}
            if self.logging_exclusions is not None:
                kwargs['exclude'] = self.logging_exclusions
            handler = SentryHandler(self.client, level=self.level)
            setup_logging(handler, **kwargs)

            if app.logger.propagate is False:
                app.logger.addHandler(handler)

            logging_configured.send(
                self, sentry_handler=SentryHandler, **kwargs)

        if self.wrap_wsgi:
            app.wsgi_app = SentryMiddleware(app.wsgi_app, self.client)

        app.before_request(self.before_request)
        request_finished.connect(self.after_request, sender=app)

        if self.register_signal:
            got_request_exception.connect(self.handle_exception, sender=app)

        if not hasattr(app, 'extensions'):
            app.extensions = {}
        app.extensions['sentry'] = self
Esempio n. 8
0
    def init_app(self, app):
        app.extensions["upstream"] = self
        request_started.connect(self.request_started, sender=app)
        request_finished.connect(self.request_finished, sender=app)
        user_loaded.connect(self.user_loaded, sender=app)

        config = app.config
        config.setdefault("ABILIAN_UPSTREAM_INFO_ENABLED", False)
        for key in ("ABILIAN_UPSTREAM_INFO_DISCARD", "ABILIAN_UPSTREAM_INFO_INCLUDE"):
            val = config.get(key, ())
            if val is not None:
                val = frozenset(val)
            config[key] = val
Esempio n. 9
0
    def init_app(self, app):
        app.extensions["upstream"] = self
        request_started.connect(self.request_started, sender=app)
        request_finished.connect(self.request_finished, sender=app)
        user_loaded.connect(self.user_loaded, sender=app)

        config = app.config
        config.setdefault("ABILIAN_UPSTREAM_INFO_ENABLED", False)
        for key in ("ABILIAN_UPSTREAM_INFO_DISCARD", "ABILIAN_UPSTREAM_INFO_INCLUDE"):
            val = config.get(key, ())
            if val is not None:
                val = frozenset(val)
            config[key] = val
    def init_app(self, app, options):

        self.app = app

        if self.client is None:
            datadog.initialize(**options)
            self.client = datadog.api

        if self.register_signal and self.client:
            got_request_exception.connect(self.handle_exception, self.app)
            request_finished.connect(self.after_request, self.app)

        if not hasattr(self.app, 'extensions'):
            self.app.extensions = {}
        self.app.extensions['breathalyzer'] = self
Esempio n. 11
0
    def init_app(self, app, options):

        self.app = app

        if self.client is None:
            datadog.initialize(**options)
            self.client = datadog.api

        if self.register_signal and self.client:
            got_request_exception.connect(self.handle_exception, self.app)
            request_finished.connect(self.after_request, self.app)

        if not hasattr(self.app, 'extensions'):
            self.app.extensions = {}
        self.app.extensions['breathalyzer'] = self
Esempio n. 12
0
    def init_app(self, app, dsn=None, logging=None, level=None, wrap_wsgi=None, register_signal=None):
        if dsn is not None:
            self.dsn = dsn

        if level is not None:
            self.level = level

        if wrap_wsgi is not None:
            self.wrap_wsgi = wrap_wsgi
        else:
            # 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:
                self.wrap_wsgi = False
            else:
                self.wrap_wsgi = True

        if register_signal is not None:
            self.register_signal = register_signal

        if logging is not None:
            self.logging = logging

        if not self.client:
            self.client = make_client(self.client_cls, app, self.dsn)

        if self.logging:
            setup_logging(SentryHandler(self.client, level=self.level))

        if self.wrap_wsgi:
            app.wsgi_app = SentryMiddleware(app.wsgi_app, self.client)

        app.before_request(self.before_request)

        if self.register_signal:
            got_request_exception.connect(self.handle_exception, sender=app)
            request_finished.connect(self.after_request, sender=app)

        if not hasattr(app, "extensions"):
            app.extensions = {}
        app.extensions["sentry"] = self
Esempio n. 13
0
    def init_app(self, app):
        app.add_url_rule(self.metrics_path, 'metrics', self.metrics_endpoint)

        app.before_request(self.before_request)
        request_finished.connect(self.teardown_request, sender=app)
        got_request_exception.connect(self.handle_exception, sender=app)
Esempio n. 14
0
def apply_middlewares(app):
    request_started.connect(_before_request, sender=app)
    request_finished.connect(_after_request, sender=app)
    got_request_exception.connect(_after_exception, sender=app)
Esempio n. 15
0
        Notification.uid).filter_by(uid=login.current_user.get_id()).order_by(
            Notification.updated_on.desc())

    return dict(notif=query.filter_by(type=0).limit(10).all(),
                tasks=query.filter_by(type=1).limit(10).all(),
                acc=accList)


""" no cache so we can see the latest info """


def expire_session(sender, response, **extra):
    db_session.expire_all()


request_finished.connect(expire_session, app)
""" Pass account list to template """


def accList_inject(sender):
    if not session.get('accSelect'):
        session['accSelect'] = [
            r.usern for r in db.session.query(eBayAccount.usern).filter_by(
                uid=login.current_user.get_id()).distinct()
        ]


request_started.connect(accList_inject, app)

# @app.after_request
# def add_header(r):
 def init_app(self, app):
     app.before_request(self.before_request)
     request_finished.connect(self.teardown_request, sender=app)
     got_request_exception.connect(self.handle_exception, sender=app)