diff --git a/src/mahjong_ranking/middleware.py b/src/mahjong_ranking/middleware.py index 2b71256..c93909a 100644 --- a/src/mahjong_ranking/middleware.py +++ b/src/mahjong_ranking/middleware.py @@ -1,12 +1,26 @@ """Middleware to defer slow denormalization at the end of a request.""" from django.core.cache import cache + from mahjong_ranking import models from . import LOGGER +from . import LOGGER - -class DenormalizationUpdateMiddleware(object): # Ignore PyLintBear (R0903) +class DenormalizationUpdateMiddleware: """To recalculate everything in the queues at the end of a POST request.""" + def __init__(self, get_response=None): + self.get_response = get_response + super().__init__() + + def __call__(self, request): + response = None + if hasattr(self, 'process_request'): + response = self.process_request(request) + response = response or self.get_response(request) + if hasattr(self, 'process_response'): + response = self.process_response(request, response) + return response + def process_response(self, request, response): # Ignore PyLintBear (R0201) """Check and process the recalculation queues on each POST request. @@ -16,7 +30,6 @@ class DenormalizationUpdateMiddleware(object): # Ignore PyLintBear (R0903) """ event_queue = set() season_queue = set() - if request.method != 'POST': return response