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:
@ -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)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
解説
|
解説
|
||||||
|
|||||||
Reference in New Issue
Block a user