def test_encoding(self): exception = appier.AppierException(message = "Olá Mundo") self.assertEqual(str(exception), "Olá Mundo") message_u = appier.legacy.u("Olá Mundo") exception = appier.AppierException(message = message_u) self.assertEqual(str(exception), "Olá Mundo") self.assertEqual(appier.legacy.UNICODE(exception), appier.legacy.u("Olá Mundo"))
def csfr_ensure(self, token, scope=None): csfr_m = self.session.get("csfr", {}) tokens, _tokens_l = csfr_m.get(scope, ({}, [])) result = tokens.pop(token, None) if result: return token raise appier.AppierException(message="Invalid CSFR protect token", code=403)
def recaptcha_ensure(self, token, action="default", force=False): if not _recaptcha_available() and not force: return secret = appier.conf("RECAPTCHA_SECRET", None) min_score = appier.conf("RECAPTCHA_MIN", 0.5) result = appier.post("https://www.google.com/recaptcha/api/siteverify", params=dict(secret=secret, response=token)) if result.get("score", 0) >= min_score and\ result.get("action", None) == action: return token raise appier.AppierException(message="Invalid reCAPTCHA score or action", code=403)