Browse Source

Fix for file saving a little more robust. Made it either new file or cancel, no overwrite option. -MT

master
mike 6 years ago
parent
commit
d0418432bd
  1. 34
      SaccadePursuitEyeTracking.py
  2. 14
      template.py

34
SaccadePursuitEyeTracking.py

@ -256,27 +256,29 @@ class EyeTrackingSaccadePursuit(SaccadePursuit.SPtask): @@ -256,27 +256,29 @@ class EyeTrackingSaccadePursuit(SaccadePursuit.SPtask):
if self.experiment_window:
self.display_text_screen('Quiting...', wait_for_input=False)
if self.tracker:
fName = os.path.join(self.data_directory,
self.experiment_info['Subject ID'] + self.experiment_info['Timepoint'] + '.edf')
baseName = os.path.join(self.data_directory,
'ETSP_' +
self.experiment_info['Subject ID'] +
self.experiment_info['Session']
+ self.experiment_info['Timepoint'])
fName2 = baseName + '.edf'
self.tracker.set_offline_mode()
self.tracker.close_edf()
self.tracker.transfer_edf()
self.tracker.close_connection()
if os.path.exists(fName2):
ii = 1
newName = baseName+'('+str(ii)+')'+'.edf'
while os.path.exists(newName):
ii+=1
fName = os.path.join(self.data_directory,
self.experiment_info['Subject ID'] +
self.experiment_info['Timepoint'] + '.edf')
if os.path.exists(fName):
baseName = os.path.join(self.data_directory,
'ETSP_' +
self.experiment_info['Subject ID'] +
self.experiment_info['Session'] +
self.experiment_info['Timepoint'])
fName2 = baseName + '.edf'
if os.path.exists(fName2):
ii = 1
newName = baseName+'('+str(ii)+')'+'.edf'
fName2 = newName
os.rename(fName, fName2)
subprocess.call(['edf2asc', fName2])
while os.path.exists(newName):
ii+=1
newName = baseName+'('+str(ii)+')'+'.edf'
fName2 = newName
os.rename(fName, fName2)
subprocess.call(['edf2asc', fName2])
super(EyeTrackingSaccadePursuit, self).quit_experiment()

14
template.py

@ -121,9 +121,9 @@ class BaseExperiment(object): @@ -121,9 +121,9 @@ class BaseExperiment(object):
"""
overwrite_dlg = psychopy.gui.Dlg(
'Overwrite?', labelButtonOK='Overwrite',
labelButtonCancel='New File', screen=0)
overwrite_dlg.addText('File already exists. Overwrite?')
'New File?', labelButtonOK='New File',
labelButtonCancel='Cancel', screen=0)
overwrite_dlg.addText('File already exists.')
overwrite_dlg.show()
return overwrite_dlg.OK
@ -181,7 +181,7 @@ class BaseExperiment(object): @@ -181,7 +181,7 @@ class BaseExperiment(object):
if os.path.isfile(filename + '.txt'):
if self.overwrite_ok is None:
self.overwrite_ok = self._confirm_overwrite()
if not self.overwrite_ok:
if self.overwrite_ok:
# If the file exists make a new filename
i = 1
new_filename = filename + '(' + str(i) + ')'
@ -189,6 +189,8 @@ class BaseExperiment(object): @@ -189,6 +189,8 @@ class BaseExperiment(object):
i += 1
new_filename = filename + '(' + str(i) + ')'
filename = new_filename
else:
raise Exception('Filename Error')
filename = filename + '.txt'
@ -215,7 +217,7 @@ class BaseExperiment(object): @@ -215,7 +217,7 @@ class BaseExperiment(object):
if os.path.isfile(data_filename + '.csv'):
if self.overwrite_ok is None:
self.overwrite_ok = self._confirm_overwrite()
if not self.overwrite_ok:
if self.overwrite_ok:
# If the file exists and we can't overwrite make a new filename
i = 1
new_filename = data_filename + '(' + str(i) + ')'
@ -223,6 +225,8 @@ class BaseExperiment(object): @@ -223,6 +225,8 @@ class BaseExperiment(object):
i += 1
new_filename = data_filename + '(' + str(i) + ')'
data_filename = new_filename
else:
raise Exception('Filename Error')
self.experiment_data_filename = data_filename + '.csv'

Loading…
Cancel
Save