@@ -343,6 +343,7 @@ async def chatbot(q: Q):
343
343
@on ("file_upload" )
344
344
async def fileupload (q : Q ):
345
345
q .page ["dataset" ].error_bar .visible = False
346
+ q .page ["dataset" ].error_upload_bar .visible = False
346
347
q .page ["dataset" ].success_bar .visible = False
347
348
q .page ["dataset" ].progress_bar .visible = True
348
349
@@ -360,7 +361,7 @@ async def fileupload(q: Q):
360
361
remove_chars = [" " , "-" ]
361
362
org_table_name = usr_table_name = None
362
363
if (
363
- q .args .table_name == "" or q .args .table_name is None and sample_data
364
+ ( q .args .table_name == "" or q .args .table_name is None ) and sample_data and len ( sample_data ) > 0
364
365
): # User did not provide a table name, use the filename as table name
365
366
org_table_name = sample_data [0 ].split ("." )[0 ].split ("/" )[- 1 ]
366
367
logging .info (f"Using provided filename as table name: { org_table_name } " )
@@ -374,6 +375,7 @@ async def fileupload(q: Q):
374
375
logging .info (f"Upload initiated for { org_table_name } with scheme input: { sample_schema } " )
375
376
if sample_data is None :
376
377
q .page ["dataset" ].error_bar .visible = True
378
+ q .page ["dataset" ].error_upload_bar .visible = False
377
379
q .page ["dataset" ].progress_bar .visible = False
378
380
else :
379
381
if sample_data :
@@ -396,27 +398,39 @@ async def fileupload(q: Q):
396
398
"samples_path" : usr_samples_path ,
397
399
"samples_qa" : usr_sample_qa ,
398
400
}
399
- logging .info (f"Table metadata: { table_metadata } " )
400
- update_tables (f"{ tmp_path } /data/tables.json" , table_metadata )
401
+ try :
402
+ logging .info (f"Table metadata: { table_metadata } " )
403
+ update_tables (f"{ tmp_path } /data/tables.json" , table_metadata )
401
404
402
- q .user .table_name = usr_table_name
403
- q .user .table_samples_path = usr_samples_path
404
- q .user .table_info_path = usr_info_path
405
- q .user .sample_qna_path = usr_sample_qa
405
+ q .user .table_name = usr_table_name
406
+ q .user .table_samples_path = usr_samples_path
407
+ q .user .table_info_path = usr_info_path
408
+ q .user .sample_qna_path = usr_sample_qa
406
409
407
- db_resp = db_setup_api (
408
- db_name = q .user .db_name ,
409
- hostname = q .user .host_name ,
410
- user_name = q .user .user_name ,
411
- password = q .user .password ,
412
- port = q .user .port ,
413
- table_info_path = q .user .table_info_path ,
414
- table_samples_path = q .user .table_samples_path ,
415
- table_name = q .user .table_name ,
416
- )
417
- logging .info (f"DB updates: \n { db_resp } " )
418
- q .page ["dataset" ].progress_bar .visible = False
419
- q .page ["dataset" ].success_bar .visible = True
410
+ db_resp = db_setup_api (
411
+ db_name = q .user .db_name ,
412
+ hostname = q .user .host_name ,
413
+ user_name = q .user .user_name ,
414
+ password = q .user .password ,
415
+ port = q .user .port ,
416
+ table_info_path = q .user .table_info_path ,
417
+ table_samples_path = q .user .table_samples_path ,
418
+ table_name = q .user .table_name ,
419
+ )
420
+ logging .info (f"DB updates: \n { db_resp } " )
421
+ if "error" in str (db_resp ).lower ():
422
+ q .page ["dataset" ].error_upload_bar .visible = True
423
+ q .page ["dataset" ].error_bar .visible = False
424
+ q .page ["dataset" ].progress_bar .visible = False
425
+ else :
426
+ q .page ["dataset" ].progress_bar .visible = False
427
+ q .page ["dataset" ].success_bar .visible = True
428
+ except Exception as e :
429
+ logging .error (f"Something went wrong while uploading the dataset: { e } " )
430
+ q .page ["dataset" ].error_upload_bar .visible = True
431
+ q .page ["dataset" ].error_bar .visible = False
432
+ q .page ["dataset" ].progress_bar .visible = False
433
+ return
420
434
421
435
422
436
@on ("#datasets" )
@@ -434,7 +448,13 @@ async def datasets(q: Q):
434
448
ui .message_bar (
435
449
name = "error_bar" ,
436
450
type = "error" ,
437
- text = "Please input table name, data & schema files to upload!" ,
451
+ text = "Please input table name and upload data to get started!" ,
452
+ visible = False ,
453
+ ),
454
+ ui .message_bar (
455
+ name = "error_upload_bar" ,
456
+ type = "error" ,
457
+ text = "Upload failed; something went wrong. Please check the dataset name/column name for special characters and try again!" ,
438
458
visible = False ,
439
459
),
440
460
ui .message_bar (name = "success_bar" , type = "success" , text = "Files Uploaded Successfully!" , visible = False ),
0 commit comments