当前位置: 首页>>代码示例>>Python>>正文


Python Question.eventRecords方法代码示例

本文整理汇总了Python中question.Question.eventRecords方法的典型用法代码示例。如果您正苦于以下问题:Python Question.eventRecords方法的具体用法?Python Question.eventRecords怎么用?Python Question.eventRecords使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在question.Question的用法示例。


在下文中一共展示了Question.eventRecords方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Trial

# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import eventRecords [as 别名]
class Trial(ResponseHandler,  EventRecorder):

	trial_header = ['subject', 'experiment',  'item', 'condition']

	def __init__(self, config, experiment, item, condition, mode, phrases, responses, question=None):
		self.experiment = experiment
		self.item = item
		self.condition = condition
		self.audio = None
		self.feedback = None
		self.config = config
		self.mode = mode

		if question:
			self.question = Question(config, question)
		else:
			self.question = None

		# list for recording the actual signal timing, if necessary (not used in SPR)
		self.signals = []

		# list for recording the actual display timing 
		self.display_updates = []
	
		self.evtStart = Event()
		self.evtUpdate = Event()
		self.evtContinue = Event()
	
		self.phraseLast = None
		self.phraseCurrent = None
		
		EventRecorder.__init__(self)
		ResponseHandler.__init__(self,  config)
		
		self.trial_header_val = ""
		for name in self.config.trial_header:
			if name == 'subject':
				self.trial_header_val = self.trial_header_val+str(self.config.participantNumber)+' '
			elif name == 'experiment':
				self.trial_header_val = self.trial_header_val+str(self.experiment)+' '
			elif name == 'item':
				self.trial_header_val = self.trial_header_val+str(self.item)+' '
			elif name == 'condition':
				self.trial_header_val = self.trial_header_val+str(self.condition)+' '

	def saveResponses(self,  results):
		lines = self.__eventLines(self.config.records_header,  self.trial_header_val)
		results.write(lines)
		results.flush()

	def stimulusId(self):
		return {'experiment': self.experiment,  'item': self.item,  'condition': self.condition}

	def __eventRecords(self):
		header,  records = EventRecorder.eventRecords(self)
		headerQ,  recordsQ = {}, []
		if self.question:
			headerQ,  recordsQ = self.question.eventRecords()
		header.update(headerQ)
		records.extend(recordsQ)
		return header,  records

	def __eventLines(self,  columns,  prefix=''):
		fullHeader,  records = self.__eventRecords()
		allColumns = fullHeader.keys()
		lines = ""
		for record in records:
			line = prefix + self.__eventLine(record,  columns) + '\n'
			lines = lines + line
		return lines

	def __eventLine(self,  record,  columns):
		line = ""
		for column in columns:
			format = "%s"
			if column == "time":
				format = "%f"
				line = line + " " + (format % float(record[column]))
			elif record.has_key(column):
				line = line + " " + (format % record[column])

			else:
				line = line + " NA"
		return line

	def isPractice(self):
		if(self.experiment == "practiceSentences" or
		   self.experiment == "practiceBasic"):
			return True
		else:
			return False

	def isWordStimulus(self):
		if self.experiment == "practiceBasic":
			return False
		else:
			return True

	def notifyTextUpdateStart(self, word):
		debug("DISPLAY UPDATE START, word <%s>" % word)
#.........这里部分代码省略.........
开发者ID:plogacev,项目名称:manuscript_LogacevVasishth_SAT_Ambiguity,代码行数:103,代码来源:trial.py


注:本文中的question.Question.eventRecords方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。