Coverage for chalicelib/utils/captcha.py: 31%

22 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 12:56 +0000

1import logging 

2 

3import requests 

4from decouple import config 

5 

6from chalicelib.utils import helper 

7from chalicelib.utils.log import sanitize 

8 

9logger = logging.getLogger(__name__) 

10 

11 

12def __get_captcha_config(): 

13 return config("captcha_server"), config("captcha_key") 

14 

15 

16def is_valid(response): 

17 if not helper.allow_captcha(): 

18 logger.info("!! Captcha is disabled") 

19 return True 

20 url, secret = __get_captcha_config() 

21 r = requests.post(url=url, data={"secret": secret, "response": response}) 

22 if r.status_code != 200: 

23 logger.warning("something went wrong") 

24 logger.warning(r.status_code) 

25 logger.warning(sanitize(r.text)) 

26 return 

27 r = r.json() 

28 logger.debug(r) 

29 return r["success"]