本文整理汇总了Python中weblate.accounts.captcha.MathCaptcha类的典型用法代码示例。如果您正苦于以下问题:Python MathCaptcha类的具体用法?Python MathCaptcha怎么用?Python MathCaptcha使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MathCaptcha类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __init__
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 = pgettext(
'Question for a mathematics-based CAPTCHA, '
'the %s is an arithmetic problem',
'What is %s?'
) % self.captcha.display
self.fields['captcha_id'].initial = self.captcha.hashed
开发者ID:Yixf-Self,项目名称:weblate,代码行数:25,代码来源:forms.py
示例2: test_object
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])
开发者ID:matejcik,项目名称:weblate,代码行数:7,代码来源:test_notifications.py
示例3: __init__
def __init__(self, request, data=None, *args, **kwargs):
super(CaptchaForm, self).__init__(data, *args, **kwargs)
self.fresh = False
if (data is None or
'captcha_id' not in data or
'captcha' not in request.session or
data['captcha_id'] not in request.session['captcha']):
self.captcha = MathCaptcha()
self.fresh = True
request.session['captcha'] = {self.captcha.id: self.captcha.hashed}
else:
captcha_id = data['captcha_id']
self.captcha = MathCaptcha.from_hash(
request.session['captcha'].pop(captcha_id),
captcha_id
)
# Set correct label
self.fields['captcha'].label = pgettext(
'Question for a mathematics-based CAPTCHA, '
'the %s is an arithmetic problem',
'What is %s?'
) % self.captcha.display
self.fields['captcha_id'].initial = self.captcha.id
开发者ID:saily,项目名称:weblate,代码行数:25,代码来源:forms.py
示例4: test_generate
def test_generate(self):
"""
Test generating of captcha for every operator.
"""
captcha = MathCaptcha()
for operator in MathCaptcha.operators:
captcha.operators = (operator,)
self.assertIn(operator, captcha.generate_question())
开发者ID:matejcik,项目名称:weblate,代码行数:8,代码来源:test_notifications.py
示例5: generate_captcha
def generate_captcha(self):
self.captcha = MathCaptcha()
self.request.session['captcha'] = self.captcha.hashed
# Set correct label
self.fields['captcha'].label = pgettext(
'Question for a mathematics-based CAPTCHA, '
'the %s is an arithmetic problem',
'What is %s?'
) % self.captcha.display
开发者ID:dekoza,项目名称:weblate,代码行数:9,代码来源:forms.py
示例6: CaptchaRegistrationForm
class CaptchaRegistrationForm(RegistrationForm):
'''
Registration form with captcha protection.
'''
captcha = forms.IntegerField(required=True)
captcha_id = forms.CharField(widget=forms.HiddenInput)
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 = pgettext(
'Question for a mathematics-based CAPTCHA, '
'the %s is an arithmetic problem',
'What is %s?'
) % self.captcha.display
self.fields['captcha_id'].initial = self.captcha.hashed
def clean_captcha(self):
'''
Validation for captcha.
'''
if (self.tampering or
not self.captcha.validate(self.cleaned_data['captcha'])):
raise forms.ValidationError(
_('Please check your math and try again.')
)
if 'email' in self.cleaned_data:
mail = self.cleaned_data['email']
else:
mail = 'NONE'
weblate.logger.info(
'Passed captcha for %s (%s = %s)',
mail,
self.captcha.question,
self.cleaned_data['captcha']
)
开发者ID:renatofb,项目名称:weblate,代码行数:54,代码来源:forms.py
示例7: __init__
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
开发者ID:ujdhesa,项目名称:weblate,代码行数:21,代码来源:forms.py
示例8: __init__
def __init__(self, request, form=None, data=None, *args, **kwargs):
super(CaptchaForm, self).__init__(data, *args, **kwargs)
self.fresh = False
self.request = request
self.form = form
if data is None or 'captcha' not in request.session:
self.generate_captcha()
self.fresh = True
else:
self.captcha = MathCaptcha.from_hash(
request.session.pop('captcha')
)
开发者ID:dekoza,项目名称:weblate,代码行数:13,代码来源:forms.py
示例9: CaptchaForm
class CaptchaForm(forms.Form):
captcha = forms.IntegerField(required=True)
def __init__(self, request, form=None, data=None, *args, **kwargs):
super(CaptchaForm, self).__init__(data, *args, **kwargs)
self.fresh = False
self.request = request
self.form = form
if data is None or 'captcha' not in request.session:
self.generate_captcha()
self.fresh = True
else:
self.captcha = MathCaptcha.from_hash(
request.session.pop('captcha')
)
def generate_captcha(self):
self.captcha = MathCaptcha()
self.request.session['captcha'] = self.captcha.hashed
# Set correct label
self.fields['captcha'].label = pgettext(
'Question for a mathematics-based CAPTCHA, '
'the %s is an arithmetic problem',
'What is %s?'
) % self.captcha.display
def clean_captcha(self):
"""Validation for CAPTCHA."""
if (self.fresh or
not self.captcha.validate(self.cleaned_data['captcha'])):
self.generate_captcha()
rotate_token(self.request)
raise forms.ValidationError(
_('Please check your math and try again with new expression.')
)
if self.form.is_valid():
mail = self.form.cleaned_data['email']
else:
mail = 'NONE'
LOGGER.info(
'Passed captcha for %s (%s = %s)',
mail,
self.captcha.question,
self.cleaned_data['captcha']
)
开发者ID:dekoza,项目名称:weblate,代码行数:48,代码来源:forms.py
示例10: CaptchaForm
class CaptchaForm(forms.Form):
captcha = forms.IntegerField(required=True)
captcha_id = forms.CharField(widget=forms.HiddenInput)
def __init__(self, request, data=None, *args, **kwargs):
super(CaptchaForm, self).__init__(data, *args, **kwargs)
self.fresh = False
if (data is None or
'captcha_id' not in data or
'captcha' not in request.session or
data['captcha_id'] not in request.session['captcha']):
self.captcha = MathCaptcha()
self.fresh = True
request.session['captcha'] = {self.captcha.id: self.captcha.hashed}
else:
captcha_id = data['captcha_id']
self.captcha = MathCaptcha.from_hash(
request.session['captcha'].pop(captcha_id),
captcha_id
)
# Set correct label
self.fields['captcha'].label = pgettext(
'Question for a mathematics-based CAPTCHA, '
'the %s is an arithmetic problem',
'What is %s?'
) % self.captcha.display
self.fields['captcha_id'].initial = self.captcha.id
def clean_captcha(self):
"""Validation for captcha."""
if (self.fresh or
not self.captcha.validate(self.cleaned_data['captcha'])):
raise forms.ValidationError(
_('Please check your math and try again.')
)
mail = self.cleaned_data.get('email', 'NONE')
LOGGER.info(
'Passed captcha for %s (%s = %s)',
mail,
self.captcha.question,
self.cleaned_data['captcha']
)
开发者ID:saily,项目名称:weblate,代码行数:46,代码来源:forms.py
示例11: CaptchaRegistrationForm
class CaptchaRegistrationForm(RegistrationForm):
"""
Registration form with captcha protection.
"""
captcha = forms.IntegerField(required=True)
captcha_id = forms.CharField(widget=forms.HiddenInput)
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 = (
pgettext("Question for a mathematics-based CAPTCHA, " "the %s is an arithmetic problem", "What is %s?")
% self.captcha.display
)
self.fields["captcha_id"].initial = self.captcha.hashed
def clean_captcha(self):
"""
Validation for captcha.
"""
if self.tampering or not self.captcha.validate(self.cleaned_data["captcha"]):
raise forms.ValidationError(_("Please check your math and try again."))
mail = self.cleaned_data.get("email", "NONE")
LOGGER.info("Passed captcha for %s (%s = %s)", mail, self.captcha.question, self.cleaned_data["captcha"])
开发者ID:GabLeRoux,项目名称:weblate,代码行数:39,代码来源:forms.py
注:本文中的weblate.accounts.captcha.MathCaptcha类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论