diff --git a/flask_recaptcha.py b/flask_recaptcha.py index d2c2648..aafbcfe 100644 --- a/flask_recaptcha.py +++ b/flask_recaptcha.py @@ -23,6 +23,8 @@ class DEFAULTS(object): TYPE = "image" SIZE = "normal" TABINDEX = 0 + INVISIBLE = "invisible" + ELEMENT_ID = "id_captcha" class ReCaptcha(object): @@ -41,6 +43,7 @@ def __init__(self, app=None, site_key=None, secret_key=None, is_enabled=True, ** self.type = kwargs.get('type', DEFAULTS.TYPE) self.size = kwargs.get('size', DEFAULTS.SIZE) self.tabindex = kwargs.get('tabindex', DEFAULTS.TABINDEX) + self.element_id = kwargs.get('element_id', DEFAULTS.ELEMENT_ID) elif app: self.init_app(app=app) @@ -52,7 +55,8 @@ def init_app(self, app=None): theme=app.config.get("RECAPTCHA_THEME", DEFAULTS.THEME), type=app.config.get("RECAPTCHA_TYPE", DEFAULTS.TYPE), size=app.config.get("RECAPTCHA_SIZE", DEFAULTS.SIZE), - tabindex=app.config.get("RECAPTCHA_TABINDEX", DEFAULTS.TABINDEX)) + tabindex=app.config.get("RECAPTCHA_TABINDEX", DEFAULTS.TABINDEX), + element_id=app.config.get("RECAPTCHA_ELEMENT_ID", DEFAULTS.ELEMENT_ID)) @app.context_processor def get_code(): @@ -63,11 +67,49 @@ def get_code(self): Returns the new ReCaptcha code :return: """ - return "" if not self.is_enabled else (""" - -
- """.format(SITE_KEY=self.site_key, THEME=self.theme, TYPE=self.type, SIZE=self.size, TABINDEX=self.tabindex)) + if self.is_enabled: + if self.size == DEFAULTS.INVISIBLE: + return """ +