Reformat using black

This commit is contained in:
cuom1999 2022-05-14 12:57:27 -05:00
parent efee4ad081
commit a87fb49918
221 changed files with 19127 additions and 7310 deletions

View file

@ -15,49 +15,77 @@ from registration.models import RegistrationProfile
from judge.utils.unicode import utf8bytes
logger = logging.getLogger('judge.mail.activate')
logger = logging.getLogger("judge.mail.activate")
class MailgunActivationView(View):
if hasattr(settings, 'MAILGUN_ACCESS_KEY'):
if hasattr(settings, "MAILGUN_ACCESS_KEY"):
def post(self, request, *args, **kwargs):
params = request.POST
timestamp = params.get('timestamp', '')
token = params.get('token', '')
signature = params.get('signature', '')
timestamp = params.get("timestamp", "")
token = params.get("token", "")
signature = params.get("signature", "")
logger.debug('Received request: %s', params)
logger.debug("Received request: %s", params)
if signature != hmac.new(key=utf8bytes(settings.MAILGUN_ACCESS_KEY),
msg=utf8bytes('%s%s' % (timestamp, token)), digestmod=hashlib.sha256).hexdigest():
logger.info('Rejected request: signature: %s, timestamp: %s, token: %s', signature, timestamp, token)
if (
signature
!= hmac.new(
key=utf8bytes(settings.MAILGUN_ACCESS_KEY),
msg=utf8bytes("%s%s" % (timestamp, token)),
digestmod=hashlib.sha256,
).hexdigest()
):
logger.info(
"Rejected request: signature: %s, timestamp: %s, token: %s",
signature,
timestamp,
token,
)
raise PermissionDenied()
_, sender = parseaddr(params.get('from'))
_, sender = parseaddr(params.get("from"))
if not sender:
logger.info('Rejected invalid sender: %s', params.get('from'))
logger.info("Rejected invalid sender: %s", params.get("from"))
return HttpResponse(status=406)
try:
user = User.objects.get(email__iexact=sender)
except (User.DoesNotExist, User.MultipleObjectsReturned):
logger.info('Rejected unknown sender: %s: %s', sender, params.get('from'))
logger.info(
"Rejected unknown sender: %s: %s", sender, params.get("from")
)
return HttpResponse(status=406)
try:
registration = RegistrationProfile.objects.get(user=user)
except RegistrationProfile.DoesNotExist:
logger.info('Rejected sender without RegistrationProfile: %s: %s', sender, params.get('from'))
logger.info(
"Rejected sender without RegistrationProfile: %s: %s",
sender,
params.get("from"),
)
return HttpResponse(status=406)
if registration.activated:
logger.info('Rejected activated sender: %s: %s', sender, params.get('from'))
logger.info(
"Rejected activated sender: %s: %s", sender, params.get("from")
)
return HttpResponse(status=406)
key = registration.activation_key
if key in params.get('body-plain', '') or key in params.get('body-html', ''):
if RegistrationProfile.objects.activate_user(key, get_current_site(request)):
logger.info('Activated sender: %s: %s', sender, params.get('from'))
return HttpResponse('Activated', status=200)
logger.info('Failed to activate sender: %s: %s', sender, params.get('from'))
if key in params.get("body-plain", "") or key in params.get(
"body-html", ""
):
if RegistrationProfile.objects.activate_user(
key, get_current_site(request)
):
logger.info("Activated sender: %s: %s", sender, params.get("from"))
return HttpResponse("Activated", status=200)
logger.info(
"Failed to activate sender: %s: %s", sender, params.get("from")
)
else:
logger.info('Activation key not found: %s: %s', sender, params.get('from'))
logger.info(
"Activation key not found: %s: %s", sender, params.get("from")
)
return HttpResponse(status=406)
@method_decorator(csrf_exempt)