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
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,8 @@ The following are **Optional** arguments.

**RECAPTCHA_TABINDEX**: Int - Tabindex of the widget can be used, if the page uses tabidex, to make navigation easier. Defaults to 0

**RECAPTCHA_SCRIPT_ARGS**: String - Arguments to be passed to www.google.com/recaptcha/api.js . Defaults to empty string.

RECAPTCHA_ENABLED = True
RECAPTCHA_SITE_KEY = ""
RECAPTCHA_SECRET_KEY = ""
Expand All @@ -113,7 +115,7 @@ The following are **Optional** arguments.
RECAPTCHA_SIZE = "compact"
RECAPTCHA_LANGUAGE = "en"
RECAPTCHA_RTABINDEX = 10

RECAPTCHA_SCRIPT_ARGS = "onload=onloadCallback"
---

(c) 2015 Mardix
Expand Down
10 changes: 7 additions & 3 deletions flask_recaptcha.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class DEFAULTS(object):
SIZE = "normal"
LANGUAGE = "en"
TABINDEX = 0
SCRIPT_ARGS = ""


class ReCaptcha(object):
Expand All @@ -46,6 +47,7 @@ def __init__(self, app=None, site_key=None, secret_key=None, is_enabled=True, **
self.size = kwargs.get('size', DEFAULTS.SIZE)
self.language = kwargs.get('language', DEFAULTS.LANGUAGE)
self.tabindex = kwargs.get('tabindex', DEFAULTS.TABINDEX)
self.script_args = kwargs.get('script_args', DEFAULTS.TABINDEX)

elif app:
self.init_app(app=app)
Expand All @@ -58,7 +60,8 @@ def init_app(self, app=None):
type=app.config.get("RECAPTCHA_TYPE", DEFAULTS.TYPE),
size=app.config.get("RECAPTCHA_SIZE", DEFAULTS.SIZE),
language=app.config.get("RECAPTCHA_LANGUAGE", DEFAULTS.LANGUAGE),
tabindex=app.config.get("RECAPTCHA_TABINDEX", DEFAULTS.TABINDEX))
tabindex=app.config.get("RECAPTCHA_TABINDEX", DEFAULTS.TABINDEX),
script_args=app.config.get("RECAPTCHA_SCRIPT_ARGS", DEFAULTS.SCRIPT_ARGS))

@app.context_processor
def get_code():
Expand All @@ -70,10 +73,11 @@ def get_code(self):
:return:
"""
return "" if not self.is_enabled else ("""
<script src='//www.google.com/recaptcha/api.js?hl={LANGUAGE}'></script>

<script src='//www.google.com/recaptcha/api.js?{SCRIPT_ARGS}'></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, LANGUAGE=self.language, TABINDEX=self.tabindex))
""".format(SCRIPT_ARGS=self.script_args, SITE_KEY=self.site_key, THEME=self.theme, TYPE=self.type, SIZE=self.size, LANGUAGE=self.language, TABINDEX=self.tabindex))

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