Source

django-misery / django_misery / middleware.py

Diff from to

django_misery/middleware.py

 
 logger = logging.getLogger('django_misery')
 
-slowBanStrength = getattr(settings, 'MISERY_SLOW_STRENGTH', '6')
-logoutProbability = getattr(settings, 'MISERY_LOGOUT_PROBABILITY', '10')
-e403Probability = getattr(settings, 'MISERY_403_PROBABILITY', '10')
-e404Probability = getattr(settings, 'MISERY_404_PROBABILITY', '10')
-whiteScreenProbability = getattr(settings, 'MISERY_WHITE_SCREEN_PROBABILITY', '20')
-ASPdeathProbability = getattr(settings, 'MISERY_ASP_ERROR_PROBABILITY', '20')
+slowBanStrength = int(getattr(settings, 'MISERY_SLOW_STRENGTH', 6))
+logoutProbability = int(getattr(settings, 'MISERY_LOGOUT_PROBABILITY', 10))
+e403Probability = int(getattr(settings, 'MISERY_403_PROBABILITY', 10))
+e404Probability = int(getattr(settings, 'MISERY_404_PROBABILITY', 10))
+whiteScreenProbability = int(getattr(settings, 'MISERY_WHITE_SCREEN_PROBABILITY', 10))
+ASPdeathProbability = int(getattr(settings, 'MISERY_ASP_ERROR_PROBABILITY', 10))
+
+assert slowBanStrength >= 0
+assert logoutProbability >= 0 and logoutProbability <= 100
+assert e403Probability >= 0 and e403Probability <= 100
+assert e404Probability >= 0 and e404Probability <= 100
+assert whiteScreenProbability >= 0 and whiteScreenProbability <= 100
+assert ASPdeathProbability >= 0 and ASPdeathProbability <= 100
 
 class miserize(object):
     def process_request(self, request):
         ip = request.META['REMOTE_ADDR']
 
         is_miserized = MiseryIP.objects.filter(ip=ip).count() > 0
-        logger.debug(is_miserized)
 
         if is_miserized:
             # unleash the wrath
+            logger.debug(ip + " is miserized")
             sleep(randint(int(slowBanStrength), 2*int(slowBanStrength)))
 
             miserize.luck = randint(0, 100)