Commits

Fabien Schwebel  committed c399116

default values changed, minimalistic tests added

  • Participants
  • Parent commits f807a0d

Comments (0)

Files changed (2)

 * `MISERY_LOGOUT_PROBABILITY`: **percentage** of probability a user will be disconnected (default: 10)
 * `MISERY_403_PROBABILITY`: same for 403 (default: 10)
 * `MISERY_404_PROBABILITY`: I'm gonna let you guess for this one (default: 10)
-* `MISERY_WHITE_SCREEN_PROBABILITY`: same for a nice, 100% pure white (not a single subpixel in the viewport will be off, I promise) (default: 20)
-* `MISERY_ASP_ERROR_PROBABILITY`: a free bonus for ASP lovers (and I'm sure there are plenty around here), the template renders just great. Oh and: to make it even more beautiful, it's in French (default: 20). Quick preview:
+* `MISERY_WHITE_SCREEN_PROBABILITY`: same for a nice, 100% pure white (not a single subpixel in the viewport will be off, I promise) (default: 10)
+* `MISERY_ASP_ERROR_PROBABILITY`: a free bonus for ASP lovers (and I'm sure there are plenty around here), the template renders just great. Oh and: to make it even more beautiful, it's in French (default: 10). Quick preview:
 
 ![ASP error overview](http://img11.hostingpics.net/pics/560987ASPerror.png)
 
-By default, miserable users have approximately a 76% chance to see the real page. They won't stay long, I promise.
+By default, miserable users have approximately a 50-50 chance to see the real page. They won't stay long, I promise.
 
 ## Miscellaneous
 

File 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)