def __call__(self, request):
     set_variable('request', request)
     set_variable('user', request.user)
     if settings.REQUEST_VARS_MIDDLEWARE_CALLBACK:
         import_string(settings.REQUEST_VARS_MIDDLEWARE_CALLBACK)(request)
     response = self.get_response(request)
     clear_thread_variable()
     return response
 def wrapped(*args, **kwargs):
     name = 'rc_{}.{}'.format(func.__module__, func.__name__)
     cached = get_variable(name)
     if cached:
         return cached
     result = func(*args, **kwargs)
     # Avoid cache forever in tasks, shell or tests.
     if get_variable('request'):
         set_variable(name, result)
     return result
示例#3
0
    def add_to_thread(cls, instance, obj):
        in_commit = save_logs_on_commit in [
            f[1] for f in connection.run_on_commit
        ]
        instances = get_variable('simple_log_instances', {})
        # prevent memory usage in non transaction test cases
        if not in_commit and instances:
            del_variable('simple_log_instances')
            instances = {}
        instances[instance] = obj
        set_variable('simple_log_instances', instances)

        if not in_commit:
            connection.on_commit(save_logs_on_commit)
示例#4
0
    def add_to_thread(cls, obj):
        in_commit = 'sl_in_commit' in \
                    [f[1].__name__ for f in connection.run_on_commit]
        logs = get_variable('logs', [])
        # prevent memory usage in non transaction test cases
        if not in_commit and logs:
            del_variable('logs')
            logs = []
        logs.append(obj)
        set_variable('logs', logs)

        if not in_commit:

            def sl_in_commit():
                save_logs_on_commit(logs)

            connection.on_commit(sl_in_commit)
示例#5
0
def test_template_tag_view(request, **kwargs):
    set_variable('additional_key', 'additional_value')
    return render(request, kwargs.get('template', 'index.html'))
示例#6
0
 def __enter__(self):
     set_variable('disable_related', True)
     return self
示例#7
0
 def __enter__(self):
     set_variable('disable_logging', True)
     return self
 def test_set_variable(self):
     set_variable('test', 'set_test')
     self.assertEqual(REQUEST_VARS.test, 'set_test')
     delattr(REQUEST_VARS, 'test')