@@ -204,11 +204,15 @@ def __init__(self, parsers: list[Type[parser_base | scan_base]] = [], parent=Non
204
204
self ._override_checkbox = override_checkbox = QtWidgets .QCheckBox (
205
205
"Override Existing Files?"
206
206
)
207
+ self ._rename_checkbox = rename_checkbox = QtWidgets .QCheckBox (
208
+ "Rename? (`<sample>_<scan_id>.asc`)"
209
+ )
207
210
exec_layout .addWidget (conversion_text , 0 , 0 , 1 , 2 )
208
211
exec_layout .addWidget (copy_button , 0 , 2 , 1 , 2 )
209
212
exec_layout .addWidget (override_checkbox , 1 , 0 , 1 , 2 )
210
- exec_layout .addWidget (save_button , 1 , 2 , 1 , 2 )
211
- exec_layout .addWidget (progress , 3 , 0 , 1 , 4 )
213
+ exec_layout .addWidget (rename_checkbox , 1 , 2 , 1 , 2 )
214
+ exec_layout .addWidget (progress , 2 , 0 , 1 , 4 )
215
+ exec_layout .addWidget (save_button , 3 , 0 , 1 , 4 )
212
216
213
217
## Difference viewer
214
218
diff_widget = QtWidgets .QWidget ()
@@ -434,7 +438,34 @@ def on_save_to_file(self):
434
438
converter = AU_PARSERS .MEX2_to_QANT_AUMainAsc
435
439
self .progress .setValue (self .progress .value () + 1 )
436
440
# Convert to ascii format.
437
- file = "" .join (parser .filename .split ("." )[:- 1 ]) + ".asc"
441
+ if self ._rename_checkbox .isChecked () and (
442
+ "SR14ID01NEXSCAN:saveData_comment1" in parser .params
443
+ or "Comment 1" in parser .params
444
+ or "Sample" in parser .params
445
+ ):
446
+ # Get the sample name
447
+ if "SR14ID01NEXSCAN:saveData_comment1" in parser .params :
448
+ sample = parser .params ["SR14ID01NEXSCAN:saveData_comment1" ]
449
+ elif "Comment 1" in parser .params :
450
+ sample = parser .params ["Comment 1" ]
451
+ elif "Sample" in parser .params :
452
+ sample = parser .params ["Sample" ]
453
+ else :
454
+ print (f"Name error, skipping { parser } " )
455
+ continue
456
+
457
+ # Get the scan ID / number
458
+ if "mda_scan_number" in parser .params :
459
+ scan_id = parser .params ["mda_scan_number" ]
460
+ elif "Scan Number" in parser .params :
461
+ scan_id = parser .params ["Scan Number" ]
462
+ else :
463
+ # use the filename?
464
+ scan_id = "" .join (parser .filename .split ("." )[:- 1 ])
465
+ # Create the new filename
466
+ file = f"{ sample } _{ scan_id } .asc"
467
+ else :
468
+ file = "" .join (parser .filename .split ("." )[:- 1 ]) + ".asc"
438
469
path = os .path .join (base_dir , file )
439
470
exists = os .path .exists (path )
440
471
if self ._override_checkbox .isChecked () or not exists :
0 commit comments