Skip to content

Commit 9ab133d

Browse files
committed
Update runner for OpenSesame 4.1
1 parent 739c20a commit 9ab133d

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

opensesame_extensions/osweb/oswebext/osweb_runner.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
You should have received a copy of the GNU General Public License
1717
along with OpenSesame. If not, see <http://www.gnu.org/licenses/>.
1818
"""
19-
20-
from libopensesame.py3compat import *
2119
from 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

Comments
 (0)