Exemple #1
0
 def add(self, obj, config, cache_key):
     request = get_request()
     if request:
         caches_dict = request.session.setdefault(self.CONTAINER_KEY, {})
         model_cache = caches_dict.get(cache_key, {})
         if model_cache:
             model_cache = strip_old_objects(model_cache, config["cache_time"])
         model_cache[obj.pk] = timezone.now()
         caches_dict[cache_key] = model_cache
Exemple #2
0
 def add(self, obj, config, cache_key):
     request = get_request()
     if request:
         caches_dict = request.session.setdefault(self.CONTAINER_KEY, {})
         model_cache = caches_dict.get(cache_key, {})
         if model_cache:
             model_cache = strip_old_objects(model_cache, config["cache_time"])
         model_cache[obj.pk] = timezone.now()
         caches_dict[cache_key] = model_cache
Exemple #3
0
    def get_trace_and_span_id_from_djangae(self):
        request = get_request()

        if request is None:
            return None, None

        # find trace id and span id
        header = request.META.get(_DJANGO_TRACE_HEADER)
        trace_id, span_id = _parse_trace_span(header)

        return trace_id, span_id
Exemple #4
0
 def get_pks(self, model_class, config, cache_key):
     request = get_request()
     if request:
         caches_dict = request.session.setdefault(self.CONTAINER_KEY, {})
         model_cache = caches_dict.get(cache_key, {})
         # We strip out any PKs which are older than the cache_time, but for speed
         # we don't bother updating the cache, we only do that when saving an object
         if model_cache:
             model_cache = strip_old_objects(model_cache, config["cache_time"])
         return model_cache.keys()
     return []
Exemple #5
0
 def get_pks(self, model_class, config, cache_key):
     request = get_request()
     if request:
         caches_dict = request.session.setdefault(self.CONTAINER_KEY, {})
         model_cache = caches_dict.get(cache_key, {})
         # We strip out any PKs which are older than the cache_time, but for speed
         # we don't bother updating the cache, we only do that when saving an object
         if model_cache:
             model_cache = strip_old_objects(model_cache, config["cache_time"])
         return model_cache.keys()
     return []
Exemple #6
0
 def remove(self, obj, config, cache_key):
     request = get_request()
     if request:
         caches_dict = request.session.setdefault(self.CONTAINER_KEY, {})
         model_cache = caches_dict.get(cache_key, {})
         if model_cache:
             model_cache = strip_old_objects(model_cache, config["cache_time"])
             try:
                 del model_cache[obj.pk]
             except KeyError:
                 pass
             caches_dict[cache_key] = model_cache
Exemple #7
0
 def remove(self, obj, config, cache_key):
     request = get_request()
     if request:
         caches_dict = request.session.setdefault(self.CONTAINER_KEY, {})
         model_cache = caches_dict.get(cache_key, {})
         if model_cache:
             model_cache = strip_old_objects(model_cache, config["cache_time"])
             try:
                 del model_cache[obj.pk]
             except KeyError:
                 pass
             caches_dict[cache_key] = model_cache
Exemple #8
0
        def csrf_exempt(self):
            request = get_request()

            if not request:
                raise ImproperlyConfigured(
                    "djangae.contrib.common.middleware.RequestStorageMiddleware "
                    "must be in your MIDDLEWARE setting ahead of CsrfMiddleware"
                )

            is_in_task = bool(request.META.get(_TASK_NAME_HEADER, False))
            is_in_cron = bool(request.META.get(_CRON_TASK_HEADER, False))

            return any((is_in_task, is_in_cron))