コード例 #1
0
ファイル: tests.py プロジェクト: githubber/weblate
 def test_object(self):
     captcha = MathCaptcha('1 * 2')
     self.assertFalse(
         captcha.validate(1)
     )
     self.assertTrue(
         captcha.validate(2)
     )
     restored = MathCaptcha.from_hash(captcha.hashed)
     self.assertEqual(
         captcha.question,
         restored.question
     )
     self.assertRaises(
         ValueError,
         MathCaptcha.from_hash,
         captcha.hashed[:40]
     )
コード例 #2
0
ファイル: forms.py プロジェクト: spc-12/weblate
    def __init__(self, data=None, *args, **kwargs):
        super(CaptchaRegistrationForm, self).__init__(
            data,
            *args,
            **kwargs
        )

        # Load data
        self.tampering = False
        if data is None or 'captcha_id' not in data:
            self.captcha = MathCaptcha()
        else:
            try:
                self.captcha = MathCaptcha.from_hash(data['captcha_id'])
            except ValueError:
                self.captcha = MathCaptcha()
                self.tampering = True

        # Set correct label
        self.fields['captcha'].label = _('What is %s') % self.captcha.display
        self.fields['captcha_id'].initial = self.captcha.hashed