Example #1
0
    def test_context_manager(self):
        c = {'foo': 'bar'}

        with context.Context(**c):
            self.assertDictEqual(context.ctx_get(), c)

        self.assertIsNone(context.ctx_get())
Example #2
0
def log_delta(req, msg, delta=None):
    ''' Log delta between now and entry of route context '''
    if delta is None:
        ctx = context.ctx_get()
        delta = time.time() - ctx['tracer_context_start']

    log.get_logger(req.robj.fname).debug("%.4f: %s(%r,%r): %s", delta, req.robj.fname, req.args,
                        req.kwargs, msg)
Example #3
0
    def __bool__(self):
        '''
        Verify user is a member of group.
        '''
        try:
            user = context.ctx_get()['request'].user
        except KeyError:
            raise exceptions.AuthException("Missing user object")

        return self.group in user.groups()
Example #4
0
def end_trace(fname):
    ''' Disable profiler '''
    ctx = context.ctx_get()
    profiler = ctx.get('tracer_profiler')

    if profiler is None:
        return

    logger = log.get_logger(__name__)
    profiler.disable()
    logger.debug("Profiler disabled")
    lines = ctx['tracer_lines']
    sort = ctx['tracer_sort'].split(',')
    trace_buf = BytesIO()
    stats = pstats.Stats(profiler, stream=trace_buf).sort_stats(*sort)
    stats.print_stats(lines)
    logger.debug("Dumping profiling data")
    log.get_logger(fname).debug(trace_buf.getvalue())
Example #5
0
 def request(self):
     return context.ctx_get().get('request')
Example #6
0
 def test_ctx_get(self):
     c = {'foo': 'bar'}
     context.ctx_push(c)
     t = context.ctx_get()
     self.assertIs(t, c)
     self.assertGreater(len(bottle.request.ws_context), 0)