#coding: utf-8 from .models import RequestLog from django.utils._threading_local import local _thread_locals = local() class RequestLogMiddleware(object): def process_request(self, request): RequestLog.objects.save_from_request(request) def get_current_request(): """ returns the request object for this thead """ return getattr(_thread_locals, "request", None) class ThreadLocalMiddleware(object): """ Simple middleware that adds the request object in thread local storage. """ def process_request(self, request): _thread_locals.request = request
from google.appengine.api import apiproxy_stub_map from google.appengine.ext import db from django.dispatch import Signal from django.db.models import signals from django.utils._threading_local import local from functools import wraps # Add signals which can be run after a transaction has been committed signals.post_save_committed = Signal() signals.post_delete_committed = Signal() local = local() # Patch transaction handlers, so we can support post_xxx_committed signals run_in_transaction = db.run_in_transaction if not hasattr(run_in_transaction, 'patched'): @wraps(run_in_transaction) def handle_signals(*args, **kwargs): try: if not getattr(local, 'in_transaction', False): local.in_transaction = True local.notify = [] result = run_in_transaction(*args, **kwargs) except: local.in_transaction = False local.notify = [] raise else: commit() return result
from google.appengine.api import apiproxy_stub_map from google.appengine.ext import db from django.dispatch import Signal from django.db.models import signals from django.utils._threading_local import local from functools import wraps # Add signals which can be run after a transaction has been committed signals.post_save_committed = Signal() signals.post_delete_committed = Signal() local = local() # Patch transaction handlers, so we can support post_xxx_committed signals run_in_transaction = db.run_in_transaction if not hasattr(run_in_transaction, 'patched'): @wraps(run_in_transaction) def handle_signals(*args, **kwargs): try: if not getattr(local, 'in_transaction', False): local.in_transaction = True local.notify = [] result = run_in_transaction(*args, **kwargs) except: local.in_transaction = False local.notify = [] raise else: commit() return result handle_signals.patched = True
def __init__(self): self.local = local()