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
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)
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)
def test_template_tag_view(request, **kwargs): set_variable('additional_key', 'additional_value') return render(request, kwargs.get('template', 'index.html'))
def __enter__(self): set_variable('disable_related', True) return self
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')