diff cherryFxTest.py @ 12:8a595d55e245

Changed back to lists from radio buttons. Now test runs and logs results
author Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk>
date Tue, 12 Mar 2013 15:11:39 +0000
parents 15260ae0d6bc
children 8261089e6f04
line wrap: on
line diff
--- a/cherryFxTest.py	Mon Mar 11 13:31:44 2013 +0000
+++ b/cherryFxTest.py	Tue Mar 12 15:11:39 2013 +0000
@@ -15,15 +15,9 @@
 from pprint import pprint
 
 PATH = os.path.abspath(os.path.dirname(__file__))
-
-#audiodir = './audio'
-#cherrypy.session['fxs'] = [cherrypy.session['f'] for cherrypy.session['f'] in os.listdir(audiodir) if os.path.isdir(os.path.join(audiodir, cherrypy.session['f']))]
-#cherrypy.session['fxs'].remove('dry')
-#print cherrypy.session['fxs']
 	
 class Root(object): pass
 
-
 class HomePage:
 	def index(self):
 		
@@ -34,9 +28,9 @@
 class TestPage:
 
 	def getAASPFiles(self):
-		audioDir = '/Users/daniele/Documents/AASPChallenge/survey/AASPAudio'
+		audioDir = './AASPAudio'
 		cherrypy.session['cats'] = [cherrypy.session['f'] for cherrypy.session['f'] in os.listdir(audioDir) if os.path.isdir(os.path.join(audioDir,cherrypy.session['f']))]
-		print cherrypy.session['cats']
+		#print cherrypy.session['cats']
 	
 	def index(self):
 		TestPage.getAASPFiles(self)
@@ -61,36 +55,24 @@
 		cherrypy.session['pages'] = 6
 		cherrypy.session['userinfobox'] = None
 		cherrypy.session['ts'] = None
-		#return '''
-		#	<p>
-		#	<a href="/test/">start test</a>
-		#	</p>'''
-		
-		#take 2 examples for each effect
 
 		cherrypy.session['audio'] = []
 		
-		# get effected files:
 		cherrypy.session['audio'] = []	
 		for cherrypy.session['cat'] in cherrypy.session['cats']:
-			cherrypy.session['dirlist'] = os.listdir('/Users/daniele/Documents/AASPChallenge/survey/AASPAudio/%s/'%cherrypy.session['cat'])
+			cherrypy.session['dirlist'] = os.listdir('./AASPAudio/%s/'%cherrypy.session['cat'])
 			for cherrypy.session['item'] in cherrypy.session['dirlist']:
 				if cherrypy.session['item'].split('.')[-1] == 'wav':
 					cherrypy.session['audio'].append(cherrypy.session['cat'] + '/' + cherrypy.session['item'].split('.')[0])
-			
-		
-		#print TestPage.audio
+
 		random.shuffle(cherrypy.session['audio'])
 		
-		print "NUMBER OF TESTS:"
-		print len(cherrypy.session['audio'])
+		#print "NUMBER OF TESTS:"
+		#print len(cherrypy.session['audio'])
 		
 		cherrypy.session['sid'] = cherrypy.session.get_session_path().split('/')[1]
-		print cherrypy.session['sid']
-		
-		#print cherrypy.session['audio']
-		pprint(cherrypy.session['audio'])
-		
+		#print cherrypy.session['sid']
+		#pprint(cherrypy.session['audio'])
 		
 		TestPage.outfileid = '%s' %cherrypy.session['sid']
 		ida = 0
@@ -104,54 +86,38 @@
 		
 	def doStart(self, pageId, sessionId, startButton, uinfo00=None, uinfo01=None, info1=None):
 		
-		
-		
 		if cherrypy.session['page'] != int(pageId):
 			print "################################# BACK BUTTON PRESSED #################################"
 
 		
 		if cherrypy.session['sid'] != str(sessionId):
 			return TestPage.sessionError(self)
-		#cherrypy.session['page'] = int(pageId)
-		
-		
-		
 		
 		cherrypy.session['userinfobox'] = str([str(uinfo00), str(uinfo01), int(info1)]) + '\n'
 		cherrypy.session['sessionId'] = sessionId
-		#print "sid:"
-		#print TestPage.sid
-		#print sessionId
 		if cherrypy.session['sid'] != str(cherrypy.session['sessionId']):
 			return TestPage.sessionError(self)
 		else:
 			return TestPage.index2(self)
 
-		
-
 	def index2(self):
-		#try: print testvar
-		#except: pass
-	
+			
 		cherrypy.session['page'] = 1
 		cherrypy.session['pages'] = 10
-		cherrypy.session['tests'] = len(cherrypy.session['audio']) #should be 66  #10 * cherrypy.session['pages']
+		cherrypy.session['tests'] = len(cherrypy.session['audio'])
 		cherrypy.session['results'] = []
 		for cherrypy.session['n'] in xrange(cherrypy.session['tests']): cherrypy.session['results'].append([None])
 
-		# create tuple to fill template
 		cherrypy.session['ts'] = []
 		for cherrypy.session['k'] in xrange(10):
 			cherrypy.session['ts'].append(0)
-			
-		return audiotempl%TestPage.makeTuple(self, 10)
+
+                print "################################# %s" %str(cherrypy.session['page'])
+                return audiotempl%TestPage.makeTuple(self, 10)
 		
 	def doAttrib(self, pageId, sessionId, submitButton, attribute1=None, attribute2=None, attribute3=None, attribute4=None, attribute5=None, attribute6=None, attribute7=None, attribute8=None, attribute9=None, attribute10=None):
-		#print attribute1 + ' ' + attribute2
-		# Error check
  			
 		print "################################# %s" %pageId
-		#_pageId = int(pageId) - 1
 
 		if cherrypy.session['page'] != int(pageId):
 			print "################################# BACK BUTTON PRESSED #################################"
@@ -160,123 +126,58 @@
 						
 		if cherrypy.session['sid'] != str(sessionId):
 			return TestPage.sessionError(self)
-				
-		#store results
-		
+
 		cherrypy.session['pos'] = 10 * (cherrypy.session['page'] - 1)		
 	 
-		cherrypy.session['results'][cherrypy.session['pos']] = [cherrypy.session['audio'][cherrypy.session['pos']][2].split('/')[-1], int(attribute1)]
-		cherrypy.session['results'][cherrypy.session['pos']+1] = [cherrypy.session['audio'][cherrypy.session['pos']+1][2].split('/')[-1], int(attribute2)]
-		cherrypy.session['results'][cherrypy.session['pos']+2] = [cherrypy.session['audio'][cherrypy.session['pos']+2][2].split('/')[-1], int(attribute3)]
-		cherrypy.session['results'][cherrypy.session['pos']+3] = [cherrypy.session['audio'][cherrypy.session['pos']+3][2].split('/')[-1], int(attribute4)]
-		cherrypy.session['results'][cherrypy.session['pos']+4] = [cherrypy.session['audio'][cherrypy.session['pos']+4][2].split('/')[-1], int(attribute5)]
-		cherrypy.session['results'][cherrypy.session['pos']+5] = [cherrypy.session['audio'][cherrypy.session['pos']+5][2].split('/')[-1], int(attribute6)]
-		cherrypy.session['results'][cherrypy.session['pos']+6] = [cherrypy.session['audio'][cherrypy.session['pos']+6][2].split('/')[-1], int(attribute7)]
-		cherrypy.session['results'][cherrypy.session['pos']+7] = [cherrypy.session['audio'][cherrypy.session['pos']+7][2].split('/')[-1], int(attribute8)]
-		cherrypy.session['results'][cherrypy.session['pos']+8] = [cherrypy.session['audio'][cherrypy.session['pos']+8][2].split('/')[-1], int(attribute9)]
-		cherrypy.session['results'][cherrypy.session['pos']+9] = [cherrypy.session['audio'][cherrypy.session['pos']+9][2].split('/')[-1], int(attribute10)]
+		cherrypy.session['results'][cherrypy.session['pos']] = [cherrypy.session['audio'][cherrypy.session['pos']].split('/')[-1], int(attribute1)]
+		cherrypy.session['results'][cherrypy.session['pos']+1] = [cherrypy.session['audio'][cherrypy.session['pos']+1].split('/')[-1], int(attribute2)]
+		cherrypy.session['results'][cherrypy.session['pos']+2] = [cherrypy.session['audio'][cherrypy.session['pos']+2].split('/')[-1], int(attribute3)]
+		cherrypy.session['results'][cherrypy.session['pos']+3] = [cherrypy.session['audio'][cherrypy.session['pos']+3].split('/')[-1], int(attribute4)]
+		cherrypy.session['results'][cherrypy.session['pos']+4] = [cherrypy.session['audio'][cherrypy.session['pos']+4].split('/')[-1], int(attribute5)]
+		cherrypy.session['results'][cherrypy.session['pos']+5] = [cherrypy.session['audio'][cherrypy.session['pos']+5].split('/')[-1], int(attribute6)]
+		cherrypy.session['results'][cherrypy.session['pos']+6] = [cherrypy.session['audio'][cherrypy.session['pos']+6].split('/')[-1], int(attribute7)]
+		cherrypy.session['results'][cherrypy.session['pos']+7] = [cherrypy.session['audio'][cherrypy.session['pos']+7].split('/')[-1], int(attribute8)]
+		cherrypy.session['results'][cherrypy.session['pos']+8] = [cherrypy.session['audio'][cherrypy.session['pos']+8].split('/')[-1], int(attribute9)]
+		cherrypy.session['results'][cherrypy.session['pos']+9] = [cherrypy.session['audio'][cherrypy.session['pos']+9].split('/')[-1], int(attribute10)]
+		resString = cherrypy.session['ip'] + '\n' + TestPage.outfileid + '\n' + cherrypy.session['userinfobox'] + '\n' + ',\n'.join(str(x) for x in cherrypy.session['results'])
+		print resString
 		
+				
+		cherrypy.session.write_data(resString,'%s.txt'%TestPage.outfileid)
+      
 		
-		resString = cherrypy.session['ip'] + '\n' + TestPage.outfileid + '\n' + cherrypy.session['userinfobox'] + '\n' + ',\n'.join(str(x) for x in cherrypy.session['results'])
 		
-		#f = open(TestPage.sid_filename, 'w')
-		#f.write(resString)
-		#f.close()
-		
-		cherrypy.session.write_data(resString,'%s.txt'%TestPage.outfileid)
-		
-		#if cherrypy.session['page'] < cherrypy.session['pages'] - 1:
 		cherrypy.session['page'] += 1
-		# create tuple to fill template
 		cherrypy.session['ts'] = []
 		cherrypy.session['npos'] = cherrypy.session['pos'] + 10
 		
-		if cherrypy.session['page'] < cherrypy.session['pages']:
-			cherrypy.session['m'] = 10
-		else:
-			cherrypy.session['m'] = 6
+		cherrypy.session['m'] = 10
 		
-		for cherrypy.session['k'] in xrange(cherrypy.session['m']):
-			for cherrypy.session['i'] in xrange(4):
-				#print cherrypy.session['k']
-				#print cherrypy.session['i']
-				cherrypy.session['ts'].append(cherrypy.session['results'][cherrypy.session['npos']+cherrypy.session['k']][cherrypy.session['i']+1])	
-			
+		for cherrypy.session['k'] in xrange(cherrypy.session['m']): cherrypy.session['ts'].append(0)
+      #cherrypy.session['ts'].append(cherrypy.session['results'][cherrypy.session['npos']+cherrypy.session['k']])
+		
+		
 		return audiotempl%TestPage.makeTuple(self, cherrypy.session['m'])
+		
+		#if cherrypy.session['page'] != cherrypy.session['pages']	
+		#	return audiotempl%TestPage.makeTuple(self, cherrypy.session['m'])
+		#else
+		#	cherrypy.session['templ'] = ''
+		#	for cherrypy.session['n'] in xrange(cherrypy.session['tests']):
+		#		cherrypy.session['_templ'] = endtempl2 %(cherrypy.session['results'][cherrypy.session['n']][0], cherrypy.session['results'][cherrypy.session['n']][1], cherrypy.session['results'][cherrypy.session['n']][2], cherrypy.session['results'][cherrypy.session['n']][3], cherrypy.session['results'][cherrypy.session['n']][4])
+		#		cherrypy.session['templ'] += cherrypy.session['_templ'] 
+		#	try: 
+		#		TestPage.sendMail(self)
+		#	except:
+		#		print "WARNING: COULD NOT SEND RESULTS"
+		#		pass
+		#	cherrypy.session['sid'] = None
+		#	return endtempl%cherrypy.session['templ']
 
-	
 	index.exposed = True
 	doAttrib.exposed = True
 	index2.exposed = True
 	doStart.exposed = True
-
-	
-	def doAttrib2(self, pageId, sessionId, submitButton, attribute1=None, attribute2=None, attribute3=None, attribute4=None, attribute5=None, attribute6=None):
-		#print attribute1 + ' ' + attribute2
-		# Error check
- 			
-		print "################################# %s" %pageId
-		#_pageId = int(pageId) - 1
-
-		if cherrypy.session['page'] != int(pageId):
-			print "################################# BACK BUTTON PRESSED #################################"
-
-		cherrypy.session['page'] = int(pageId)
-						
-		if cherrypy.session['sid'] != str(sessionId):
-			return TestPage.sessionError(self)
-				
-		#store results
-		
-		cherrypy.session['pos'] = 10 * (cherrypy.session['page'] - 1)		
-	 
-		cherrypy.session['results'][cherrypy.session['pos']] = [cherrypy.session['audio'][cherrypy.session['pos']][2].split('/')[-1], int(attribute1)]
-		cherrypy.session['results'][cherrypy.session['pos']+1] = [cherrypy.session['audio'][cherrypy.session['pos']+1][2].split('/')[-1], int(attribute2)]
-		cherrypy.session['results'][cherrypy.session['pos']+2] = [cherrypy.session['audio'][cherrypy.session['pos']+2][2].split('/')[-1], int(attribute3)]
-		cherrypy.session['results'][cherrypy.session['pos']+3] = [cherrypy.session['audio'][cherrypy.session['pos']+3][2].split('/')[-1], int(attribute4)]
-		cherrypy.session['results'][cherrypy.session['pos']+4] = [cherrypy.session['audio'][cherrypy.session['pos']+4][2].split('/')[-1], int(attribute5)]
-		cherrypy.session['results'][cherrypy.session['pos']+5] = [cherrypy.session['audio'][cherrypy.session['pos']+5][2].split('/')[-1], int(attribute6)]
-
-		
-		
-		resString = cherrypy.session['ip'] + '\n' + cherrypy.session['sid'] + '\n' + cherrypy.session['userinfobox'] + '\n' + ',\n'.join(str(x) for x in cherrypy.session['results'])
-		
-		#f = open(TestPage.sid_filename, 'w')
-		#f.write(resString)
-		#f.close()
-		#os.path.exists()
-		
-		cherrypy.session.write_data(resString,'%s.txt'%TestPage.outfileid)
-		
-	
-		print cherrypy.session['results']
-		#_results = []
-		
-		cherrypy.session['templ'] = ''
-		for cherrypy.session['n'] in xrange(cherrypy.session['tests']):
-			#print ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
-			#print cherrypy.session['n']
-			cherrypy.session['_templ'] = endtempl2 %(cherrypy.session['results'][cherrypy.session['n']][0], cherrypy.session['results'][cherrypy.session['n']][1], cherrypy.session['results'][cherrypy.session['n']][2], cherrypy.session['results'][cherrypy.session['n']][3], cherrypy.session['results'][cherrypy.session['n']][4])
-			cherrypy.session['templ'] += cherrypy.session['_templ'] 
-
-		#TestPage.pageComplete += 1
-		try: 
-			#print 'skipping email'
-			TestPage.sendMail(self)
-		except:
-			print "WARNING: COULD NOT SEND RESULTS"
-			pass
-		cherrypy.session['sid'] = None
-		return endtempl%cherrypy.session['templ']
-		#return lastpage
-			
-			
-	index.exposed = True
-	doAttrib.exposed = True
-	doAttrib2.exposed = True
-	index2.exposed = True
-	doStart.exposed = True
-	
 	
 	def makeTuple(TestPage, nr):
 		cherrypy.session['nr'] = nr
@@ -284,8 +185,7 @@
 		cherrypy.session['ts'].append(cherrypy.session['pages'])
 		for cherrypy.session['k'] in xrange(cherrypy.session['nr']):
 			pos = 10 * (cherrypy.session['page'] - 1) + cherrypy.session['k']
-			#print pos
-			cherrypy.session['ts'].append(cherrypy.session['audio'][pos])			
+			for n in xrange(3): cherrypy.session['ts'].append(cherrypy.session['audio'][pos])
 		cherrypy.session['ts'].append(cherrypy.session['page'])
 		cherrypy.session['ts'].append(cherrypy.session['sid'])
 		cherrypy.session['ts'] = tuple(cherrypy.session['ts'])