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')
@ -669,36 +670,36 @@ def checkin_from_rogapp(request):
"requires_manual_review": bool(gps_coordinates.get('accuracy', 0) > 10), # 10m以上は要審査 "requires_manual_review": bool(gps_coordinates.get('accuracy', 0) > 10), # 10m以上は要審査
"image_url": s3_image_url # S3画像URLを返す "image_url": s3_image_url # S3画像URLを返す
}) })
except Exception as e:
# より詳細なエラー情報をログに記録
import traceback
error_details = {
"error_type": type(e).__name__,
"error_message": str(e),
"traceback": traceback.format_exc(),
"request_data": request.data if hasattr(request, 'data') else "No data",
"user_agent": user_agent if 'user_agent' in locals() else "Unknown",
"client_ip": client_ip if 'client_ip' in locals() else "Unknown"
}
logger.error(f"[CHECKIN] ❌ DETAILED ERROR: {error_details}") except Exception as e:
# より詳細なエラー情報をログに記録
# より具体的なエラーメッセージを返す import traceback
if "データベース" in str(e).lower() or "database" in str(e).lower(): error_details = {
error_message = "データベースの構造に問題があります。アプリを再起動してください。" "error_type": type(e).__name__,
elif "s3" in str(e).lower() or "boto" in str(e).lower(): "error_message": str(e),
error_message = "画像アップロードに問題があります。しばらく後に再試行してください。" "traceback": traceback.format_exc(),
elif "import" in str(e).lower() or "module" in str(e).lower(): "request_data": request.data if hasattr(request, 'data') else "No data",
error_message = "サーバーモジュールの読み込みエラーです。管理者にお問い合わせください。" "user_agent": user_agent if 'user_agent' in locals() else "Unknown",
else: "client_ip": client_ip if 'client_ip' in locals() else "Unknown"
error_message = "サーバーエラーが発生しました。しばらく後に再試行してください。" }
return Response({ logger.error(f"[CHECKIN] ❌ DETAILED ERROR: {error_details}")
"status": "ERROR",
"message": error_message, # より具体的なエラーメッセージを返す
"error_code": "CHECKIN_API_ERROR" if "データベース" in str(e).lower() or "database" in str(e).lower():
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) error_message = "データベースの構造に問題があります。アプリを再起動してください。"
elif "s3" in str(e).lower() or "boto" in str(e).lower():
error_message = "画像アップロードに問題があります。しばらく後に再試行してください。"
elif "import" in str(e).lower() or "module" in str(e).lower():
error_message = "サーバーモジュールの読み込みエラーです。管理者にお問い合わせください。"
else:
error_message = "サーバーエラーが発生しました。しばらく後に再試行してください。"
return Response({
"status": "ERROR",
"message": error_message,
"error_code": "CHECKIN_API_ERROR"
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
""" """
解説 解説