def send_usage_email_to(user, source, threshold, usage_percentage=None): from core.email import send_allocation_usage_email user_snapshot = UserAllocationSnapshot.objects.filter( allocation_source=source, user=user).last() if not usage_percentage: usage_percentage = int(source.snapshot.compute_used / source.snapshot.compute_allowed * 100) if not user_snapshot: compute_used = None else: compute_used = getattr(user_snapshot, 'compute_used') try: send_allocation_usage_email( user, source, threshold, usage_percentage, user_compute_used=compute_used) except Exception: logger.exception("Could not send a usage email to user %s" % user)