alibayram commited on
Commit
d460ac7
·
1 Parent(s): abcde8f

Implement detailed error handling for model submission conflicts in API and UI, enhancing user feedback for already submitted models. Update logging for better traceability of submission errors.

Browse files
Files changed (2) hide show
  1. api_service.py +15 -0
  2. ui_submit_model.py +26 -9
api_service.py CHANGED
@@ -289,6 +289,21 @@ class APIService:
289
  'message': result.get('message', 'Geçersiz veri'),
290
  'error': result.get('error')
291
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  else:
293
  logger.error(f"Model gönderimi hatası: HTTP {response.status_code}")
294
  return {
 
289
  'message': result.get('message', 'Geçersiz veri'),
290
  'error': result.get('error')
291
  }
292
+ elif response.status_code == 409:
293
+ # HTTP 409 Conflict - Model already exists
294
+ try:
295
+ result = response.json()
296
+ error_message = result.get('message', 'Model zaten gönderilmiş')
297
+ except:
298
+ error_message = 'Model zaten gönderilmiş'
299
+
300
+ logger.error(f"Model gönderimi hatası (409): {error_message}")
301
+ return {
302
+ 'success': False,
303
+ 'message': f'⚠️ {error_message}',
304
+ 'error': 'Model already submitted',
305
+ 'status_code': 409
306
+ }
307
  else:
308
  logger.error(f"Model gönderimi hatası: HTTP {response.status_code}")
309
  return {
ui_submit_model.py CHANGED
@@ -294,16 +294,33 @@ def add_submit_model_tab(block, api_service):
294
  )
295
  else:
296
  error_msg = result.get('error', 'Bilinmeyen hata')
 
297
  logger.error(f"API submission failed: {error_msg}")
298
- return (
299
- f'''
300
- <div style="color: red; padding: 15px; border: 1px solid red; border-radius: 8px; background: #fef2f2;">
301
- <strong>API Gönderim Hatası!</strong><br>
302
- <strong>Hata:</strong> {error_msg}
303
- </div>
304
- ''',
305
- model_name, version # Keep the fields for user to modify
306
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
 
308
  except Exception as e:
309
  logger.error(f"API submission exception: {e}")
 
294
  )
295
  else:
296
  error_msg = result.get('error', 'Bilinmeyen hata')
297
+ status_code = result.get('status_code')
298
  logger.error(f"API submission failed: {error_msg}")
299
+
300
+ # Handle specific error cases
301
+ if status_code == 409 or 'already submitted' in error_msg.lower():
302
+ return (
303
+ f'''
304
+ <div style="color: orange; padding: 15px; border: 1px solid orange; border-radius: 8px; background: #fffbeb;">
305
+ ⚠️ <strong>Model Zaten Gönderilmiş!</strong><br><br>
306
+ <strong>Model:</strong> {model_name}<br>
307
+ <strong>Versiyon:</strong> {version}<br><br>
308
+ <strong>Not:</strong> Bu model daha önce sisteme gönderilmiş ve değerlendirme kuyruğunda bulunmaktadır.<br>
309
+ Lütfen farklı bir model veya versiyon deneyin.
310
+ </div>
311
+ ''',
312
+ model_name, version # Keep the fields for user to modify
313
+ )
314
+ else:
315
+ return (
316
+ f'''
317
+ <div style="color: red; padding: 15px; border: 1px solid red; border-radius: 8px; background: #fef2f2;">
318
+ ❌ <strong>API Gönderim Hatası!</strong><br>
319
+ <strong>Hata:</strong> {error_msg}
320
+ </div>
321
+ ''',
322
+ model_name, version # Keep the fields for user to modify
323
+ )
324
 
325
  except Exception as e:
326
  logger.error(f"API submission exception: {e}")