





'''simple docstring'''

import requests

try:
   from django.contrib.auth import authenticate, login
   from django.shortcuts import redirect, render
except ImportError:
   UpperCAmelCase       :		List[str]		=				print




def  _a     (				lowerCAmelCase_						):





      """simple docstring"""



      _snake_case		:						Tuple         =  "secretKey"
      _snake_case		:						Any         =  "https://www.google.com/recaptcha/api/siteverify"

      # when method is not POST, direct user to login page
      if request.method != "POST":
            return render(lowerCAmelCase_      ,   '''login.html'''						)

      # from the frontend, get username, password, and client_key
      _snake_case		:						Any         =  request.POST.get('''username'''						)
      _snake_case		:						Optional[int]         =  request.POST.get('''password'''						)
      _snake_case		:						Tuple         =  request.POST.get('''g-recaptcha-response'''						)

      # post recaptcha response to Google's recaptcha api
      _snake_case		:						List[Any]         =  requests.post(lowerCAmelCase_      ,   data={'''secret''': secret_key, '''response''': client_key}						)
      # if the recaptcha api verified our keys
      if response.json().get('''success'''      ,   lowerCAmelCase_						):
            # authenticate the user
            _snake_case		:						Tuple         =  authenticate(lowerCAmelCase_      ,   username=lowerCAmelCase_      ,   password=lowerCAmelCase_						)
            if user_in_database:
                  login(lowerCAmelCase_      ,   lowerCAmelCase_						)
                  return redirect('''/your-webpage'''						)
      return render(lowerCAmelCase_      ,   '''login.html'''						)




"""simple docstring"""




import enum
import inspect
import warnings
from functools import wraps
from typing import Callable, Optional

from .logging import get_logger


A__   :						Optional[Any] 							=     set()
A__   :						List[str] 							=     get_logger(__name__)



def 				a__			(					lowerCAmelCase						:							Optional[str] = None		):






     '''simple docstring'''

     def decorator(lowerCAmelCase						:							Callable		):
          global _emitted_deprecation_warnings

          if inspect.isclass(lowerCAmelCase		):
               UpperCAmelCase__				:			Any							=    deprecated_class_or_function.__init__
               UpperCAmelCase__				:			Optional[int]							=    deprecated_class_or_function.__name__
          else:
               UpperCAmelCase__				:			str							=    deprecated_class_or_function
               UpperCAmelCase__				:			List[Any]							=    deprecated_function.__name__
               # Support deprecating __init__ class method: class name instead
               UpperCAmelCase__				:			List[str]							=    name if name != "__init__" else deprecated_function.__qualname__.split("."		)[-2]

          UpperCAmelCase__				:			Optional[Any]							=    (
              F"{name} is deprecated and will be removed in the next major version of datasets." + F" {help_message}"
              if help_message
              else ""
          )

          @wraps(lowerCAmelCase		)
          def wrapper(*lowerCAmelCase						:							int							,     **lowerCAmelCase						:							str		):
               UpperCAmelCase__				:			List[str]							=    hash(lowerCAmelCase		)
               if func_hash not in _emitted_deprecation_warnings:
                    warnings.warn(lowerCAmelCase							,     category=lowerCAmelCase							,     stacklevel=2		)
                    _emitted_deprecation_warnings.add(lowerCAmelCase		)
               return deprecated_function(*lowerCAmelCase							,     **lowerCAmelCase		)

          UpperCAmelCase__				:			List[str]							=    "deprecated"

          if inspect.isclass(lowerCAmelCase		):
               UpperCAmelCase__				:			List[str]							=    wrapper
               return deprecated_class_or_function
          else:
               return wrapper

     return decorator







class 	_lowercase    (							enum.EnumMeta					):


     '''simple docstring'''





     def __getattribute__(   cls			,      __UpperCamelCase	)->       Optional[Any]:
          UpperCAmelCase__				:			Optional[int]							=    super().__getattribute__(__UpperCamelCase	)
          if isinstance(__UpperCamelCase			,      enum.Enum	) and obj._on_access:
               obj._on_access()
          return obj



     def __getitem__(   cls			,      __UpperCamelCase	)->       Optional[int]:
          UpperCAmelCase__				:			Union[str, Any]							=    super().__getitem__(__UpperCamelCase	)
          if member._on_access:
               member._on_access()
          return member



     def __call__(   cls			,      __UpperCamelCase			,      __UpperCamelCase=None			,      *, __UpperCamelCase=None			,      __UpperCamelCase=None			,      __UpperCamelCase=None			,      __UpperCamelCase=1	)->       Dict:
          UpperCAmelCase__				:			Optional[int]							=    super().__call__(__UpperCamelCase			,      __UpperCamelCase			,      module=__UpperCamelCase			,      qualname=__UpperCamelCase			,      type=__UpperCamelCase			,      start=__UpperCamelCase	)
          if isinstance(__UpperCamelCase			,      enum.Enum	) and obj._on_access:
               obj._on_access()
          return obj







class 	_lowercase    (							enum.Enum						, metaclass=lowerCAmelCase_					):


     '''simple docstring'''





     def __new__(   cls			,      __UpperCamelCase	)->       Union[str, Any]:
          UpperCAmelCase__				:			int							=    object.__new__(cls	)
          UpperCAmelCase__				:			int							=    value
          UpperCAmelCase__				:			Optional[int]							=    member.deprecate
          return member



     @property
     def 			lowerCAmelCase__							(   self	)->       Union[str, Any]:
          return ""



     def 			lowerCAmelCase__							(   self	)->       int:
          UpperCAmelCase__				:			Tuple							=    F" {self.help_message}" if self.help_message else ""
          warnings.warn(
              F"'{self.__objclass__.__name__}' is deprecated and will be removed in the next major version of datasets."
              + help_message			,      __UpperCamelCase			,      stacklevel=3			,      )



