Fix syntax errors in checkin API

- Fix indentation and syntax errors in api_play.py
- Correct try-except block structure
- Fix line endings and code formatting
- Resolve syntax error preventing Django startup
This commit is contained in:
2025-09-03 22:04:19 +09:00
parent 0d6f9024f4
commit f55f44013f

View File

@ -465,18 +465,19 @@ def checkin_from_rogapp(request):
- gps_coordinates: GPS座標情報 (新規) - gps_coordinates: GPS座標情報 (新規)
- camera_metadata: カメラメタデータ (新規) - camera_metadata: カメラメタデータ (新規)
""" """
try: # リクエスト詳細情報を取得
# リクエスト詳細情報を取得 client_ip = request.META.get('REMOTE_ADDR', 'Unknown')
client_ip = request.META.get('REMOTE_ADDR', 'Unknown') user_agent = request.META.get('HTTP_USER_AGENT', 'Unknown')
user_agent = request.META.get('HTTP_USER_AGENT', 'Unknown') user_info = request.user.email if request.user.is_authenticated else 'Anonymous'
user_info = request.user.email if request.user.is_authenticated else 'Anonymous' request_time = timezone.now()
request_time = timezone.now() request_id = str(uuid.uuid4())[:8]
request_id = str(uuid.uuid4())[:8]
# APIの最初にログを記録問題の特定のため # APIの最初にログを記録問題の特定のため
logger.info(f"[CHECKIN] 🚀 API Request Received - ID: {request_id}, Time: {request_time}, Client IP: {client_ip}, User: {user_info}, S3_Available: {S3_AVAILABLE}") logger.info(f"[CHECKIN] 🚀 API Request Received - ID: {request_id}, Time: {request_time}, Client IP: {client_ip}, User: {user_info}, S3_Available: {S3_AVAILABLE}")
logger.info(f"[CHECKIN] 📍 API Request Started - ID: {request_id}, Time: {request_time}, Client IP: {client_ip}, User: {user_info}") # リクエストからパラメータを取得 logger.info(f"[CHECKIN] 📍 API Request Started - ID: {request_id}, Time: {request_time}, Client IP: {client_ip}, User: {user_info}")
# リクエストからパラメータを取得
event_code = request.data.get('event_code') event_code = request.data.get('event_code')
team_name = request.data.get('team_name') team_name = request.data.get('team_name')
cp_number = request.data.get('cp_number') cp_number = request.data.get('cp_number')
@ -670,35 +671,35 @@ def checkin_from_rogapp(request):
"image_url": s3_image_url # S3画像URLを返す "image_url": s3_image_url # S3画像URLを返す
}) })
except Exception as e: except Exception as e:
# より詳細なエラー情報をログに記録 # より詳細なエラー情報をログに記録
import traceback import traceback
error_details = { error_details = {
"error_type": type(e).__name__, "error_type": type(e).__name__,
"error_message": str(e), "error_message": str(e),
"traceback": traceback.format_exc(), "traceback": traceback.format_exc(),
"request_data": request.data if hasattr(request, 'data') else "No data", "request_data": request.data if hasattr(request, 'data') else "No data",
"user_agent": user_agent if 'user_agent' in locals() else "Unknown", "user_agent": user_agent if 'user_agent' in locals() else "Unknown",
"client_ip": client_ip if 'client_ip' in locals() else "Unknown" "client_ip": client_ip if 'client_ip' in locals() else "Unknown"
} }
logger.error(f"[CHECKIN] ❌ DETAILED ERROR: {error_details}") logger.error(f"[CHECKIN] ❌ DETAILED ERROR: {error_details}")
# より具体的なエラーメッセージを返す # より具体的なエラーメッセージを返す
if "データベース" in str(e).lower() or "database" in str(e).lower(): if "データベース" in str(e).lower() or "database" in str(e).lower():
error_message = "データベースの構造に問題があります。アプリを再起動してください。" error_message = "データベースの構造に問題があります。アプリを再起動してください。"
elif "s3" in str(e).lower() or "boto" in str(e).lower(): elif "s3" in str(e).lower() or "boto" in str(e).lower():
error_message = "画像アップロードに問題があります。しばらく後に再試行してください。" error_message = "画像アップロードに問題があります。しばらく後に再試行してください。"
elif "import" in str(e).lower() or "module" in str(e).lower(): elif "import" in str(e).lower() or "module" in str(e).lower():
error_message = "サーバーモジュールの読み込みエラーです。管理者にお問い合わせください。" error_message = "サーバーモジュールの読み込みエラーです。管理者にお問い合わせください。"
else: else:
error_message = "サーバーエラーが発生しました。しばらく後に再試行してください。" error_message = "サーバーエラーが発生しました。しばらく後に再試行してください。"
return Response({ return Response({
"status": "ERROR", "status": "ERROR",
"message": error_message, "message": error_message,
"error_code": "CHECKIN_API_ERROR" "error_code": "CHECKIN_API_ERROR"
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) }, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
""" """
解説 解説