Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ Returns bool

Just include **{{ recaptcha }}** wherever you want to show the recaptcha

Additionally, you can use the syntax **{{ recaptcha_callback() }}**
or **{{ recaptcha_callback(callback="some_callback_function") }}**
to use JavaScript callback function (default name - 'recaptcha_callback').

## Config

Expand Down Expand Up @@ -109,7 +112,7 @@ The following are **Optional** arguments.
RECAPTCHA_THEME = "dark"
RECAPTCHA_TYPE = "image"
RECAPTCHA_SIZE = "compact"
RECAPTCHA_RTABINDEX = 10
RECAPTCHA_TABINDEX = 10

---

Expand Down
18 changes: 13 additions & 5 deletions flask_recaptcha.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"""

__NAME__ = "Flask-ReCaptcha"
__version__ = "0.4.2"
__version__ = "0.4.3"
__license__ = "MIT"
__author__ = "Mardix"
__copyright__ = "(c) 2015 Mardix"
Expand Down Expand Up @@ -56,18 +56,26 @@ def init_app(self, app=None):

@app.context_processor
def get_code():
return dict(recaptcha=Markup(self.get_code()))
def _get_code(callback="recaptcha_callback"):
return Markup(self.get_code(callback=callback))
return dict(recaptcha=_get_code(callback=None), recaptcha_callback=_get_code)

def get_code(self):
def get_code(self, callback=None):
"""
:param callback: adds a JavaScript callback function name
Returns the new ReCaptcha code
:return:
"""
if callback:
data_callback = ' data-callback="{CALLBACK}"'.format(CALLBACK=callback)
else:
data_callback = ""
return "" if not self.is_enabled else ("""
<script src='//www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="{SITE_KEY}" data-theme="{THEME}" data-type="{TYPE}" data-size="{SIZE}"\
data-tabindex="{TABINDEX}"></div>
""".format(SITE_KEY=self.site_key, THEME=self.theme, TYPE=self.type, SIZE=self.size, TABINDEX=self.tabindex))
data-tabindex="{TABINDEX}"{DATA_CALLBACK}></div>
""".format(SITE_KEY=self.site_key, THEME=self.theme, TYPE=self.type, SIZE=self.size, TABINDEX=self.tabindex,
DATA_CALLBACK=data_callback))

def verify(self, response=None, remote_ip=None):
if self.is_enabled:
Expand Down