Metadata-Version: 2.2
Name: wtforms-recaptcha
Version: 0.3.2
Summary: Custom WTForms field that handles reCaptcha display and validation
Home-page: http://bitbucket.org/excieve/wtforms-recaptcha
Author: Artem Gluvchynsky
Author-email: excieve@gmail.com
License: BSD
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: WTForms>=0.6.1
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: license
Dynamic: platform
Dynamic: requires-dist
Dynamic: summary

=================
WTForms-reCaptcha
=================

Overview
--------
WTForms-reCaptcha is a convenient field for `WTForms <http://wtforms.simplecodes.com/>`_ that transparently handles
reCaptcha display and validation via corresponding widget and validator classes.

reCaptcha
---------
| To get an idea about reCaptcha see the `docs <http://code.google.com/apis/recaptcha/intro.html>`_.
| To start working with it, first get reCaptcha keys `here <https://www.google.com/recaptcha/admin/create>`_.


Installation
------------
Get the distribution::

  pip install wtforms-recaptcha

or if you want the latest::

  pip install hg+http://bitbucket.org/excieve/wtforms-recaptcha#egg=wtforms-recaptcha

or get hg clone of the source code::

  hg clone http://bitbucket.org/excieve/wtforms-recaptcha
  cd wtforms-recaptcha
  python setup.py install


Usage
-----
It is mostly the usual WTForms field that needs some extra data and parameters.
Here's a simple example::

  from wtforms.form import Form
  from wtfrecaptcha.fields import RecaptchaField


  class CaptchaForm(Form):
      captcha = RecaptchaField(public_key=RECAPTCHA_PUB_KEY, private_key=RECAPTCHA_PRIV_KEY, secure=True)


  form = CaptchaForm(request.POST, captcha={'ip_address': request.META['REMOTE_ADDR']})
  if form.validate():
      print "Captcha response is correct"
  else:
      print form.errors['captcha']


Some description of field's parameters:

:public_key:
    Public key generated by reCaptcha service
:private_key:
    Private key generated by reCaptcha service
:secure:
    True if it should be served via HTTPS, False otherwise. Default: *False*.
:http_proxy:
    URL of HTTP proxy for API calls

When form with RecaptchaField is instantiated with bound fields, it must include
*captcha* keyword parameter with dict that has 'ip_address' element.


Other details
-------------
Accessing field as a string will get the widget code with URLs that depend on
*secure* parameter passed to the field.

HTTP errors and errors that are indepentent of user input are logged.
Others are handled as validation errors.


License
-------
| WTForms-reCaptcha is released under BSD license.
| Copyright (c) 2010-2012 Artem Gluvchynsky <excieve@gmail.com> and contributors.

See LICENSE for full licensing information.
