1616You should have received a copy of the GNU General Public License
1717along with OpenSesame. If not, see <http://www.gnu.org/licenses/>.
1818"""
19-
20- from libopensesame .py3compat import *
2119from libqtopensesame .runners .base_runner import BaseRunner
2220
2321
@@ -31,14 +29,24 @@ def execute(self):
3129 return return_values .get ('Oswebext' , None )
3230
3331 def init_experiment (self , quick = False , fullscreen = False ):
34- # Get and set the subject number
35- subject_nr = self .get_subject_nr (quick = quick )
36- if subject_nr is None :
37- return False
38- # Get and set the logfile
39- logfile = self .get_logfile (quick = quick , subject_nr = subject_nr ,
40- file_extension = '.json' )
41- if logfile is None :
32+ # Get and set the subject number and log file. In OpenSesame 4.1 this
33+ # has been unified into a single dialog
34+ try :
35+ # OpenSesame <= 4.0
36+ subject_nr = self .get_subject_nr (quick = quick )
37+ logfile = self .get_logfile (quick = quick , subject_nr = subject_nr ,
38+ file_extension = '.json' )
39+ except AttributeError :
40+ # OpenSesame >= 4.1
41+ settings = self .get_experiment_settings (quick = quick )
42+ if settings is None :
43+ subject_nr = None
44+ logfile = None
45+ else :
46+ subject_nr = settings ['subject_nr' ]
47+ logfile = settings ['logfile' ]
48+ fullscreen = settings ['fullscreen' ]
49+ if subject_nr is None or logfile is None :
4250 return False
4351 self ._subject_nr = subject_nr
4452 self ._logfile = logfile
0 commit comments