This file is indexed.

/usr/share/pyshared/libqtopensesame/qtopensesamerun.py is in opensesame 0.27.4-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
#-*- coding:utf-8 -*-

"""
This file is part of OpenSesame.

OpenSesame is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

OpenSesame is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with OpenSesame.  If not, see <http://www.gnu.org/licenses/>.
"""

from PyQt4 import QtCore, QtGui
from libqtopensesame.ui import opensesamerun_ui
from libqtopensesame.misc import theme

class qtopensesamerun(QtGui.QMainWindow):

	"""
	The main class of the OpenSesame Run GUI.
	"""
	
	def __init__(self, options, parent = None):
		
		"""
		Constructor
		"""
			
		# Construct the parent
		QtGui.QMainWindow.__init__(self, parent)
														
		# Setup the UI
		self.ui = opensesamerun_ui.Ui_opensesamerun_mainwindow()
		self.ui.setupUi(self)		
		self.ui.button_run.clicked.connect(self.run)
		self.theme = theme.theme(self)
		
		self.ui.button_browse_experiment.clicked.connect(self.browse_experiment)
		self.ui.button_browse_logfile.clicked.connect(self.browse_logfile)
		
		self.options = options
		
		# Fill the GUI controls based on the options				
		self.ui.edit_experiment.setText(self.options.experiment)		
		self.ui.checkbox_fullscreen.setChecked(self.options.fullscreen)
		self.ui.checkbox_pylink.setChecked(self.options.pylink)				
		self.ui.spinbox_subject_nr.setValue(int(self.options.subject))
		self.ui.edit_logfile.setText(self.options.logfile)
		
	def browse_experiment(self):
	
		"""
		Locate the experiment file
		"""
		
		file_type_filter = "OpenSesame files (*.opensesame.tar.gz *.opensesame);;OpenSesame script and file pool (*.opensesame.tar.gz);;OpenSesame script (*.opensesame)"				
		path = QtGui.QFileDialog.getOpenFileName(self, "Open experiment file", filter = file_type_filter)
		if path == "":
			return
			
		self.ui.edit_experiment.setText(path)
		
	def browse_logfile(self):
	
		"""
		Locate the logfile
		"""
			
		path = QtGui.QFileDialog.getSaveFileName(self, "Choose a location for the logfile")
		if path == "":
			return
			
		self.ui.edit_logfile.setText(path)		
		
	def show(self):
	
		"""
		Set the run flag to false
		"""
	
		self.run = False
		QtGui.QMainWindow.show(self)
			
	def run(self):
	
		"""
		Does not actual run the experiment, but marks the application for
		running later
		"""
	
		self.run = True		
		self.options.experiment = unicode(self.ui.edit_experiment.text())
		self.options.subject = self.ui.spinbox_subject_nr.value()
		self.options.logfile = unicode(self.ui.edit_logfile.text())		
		self.options.fullscreen = self.ui.checkbox_fullscreen.isChecked()
		self.options.custom_resolution = self.ui.checkbox_custom_resolution.isChecked()
		self.options.width = self.ui.spinbox_width.value()
		self.options.height = self.ui.spinbox_height.value()				
		self.options.pylink = self.ui.checkbox_pylink.isChecked()		
		self.close()