diff cherryFxTest.py @ 11:15260ae0d6bc

• modified html templates for audio environment classification experiment (10 audio files and 10 classes for each test page) • modidfied cherryFxTest to be consistent with audio templates and to include files from AASPAudio • included AASPAudio (recordings for audio environment classification)
author Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk>
date Mon, 11 Mar 2013 13:31:44 +0000
parents 9ab73065952b
children 8a595d55e245
line wrap: on
line diff
--- a/cherryFxTest.py	Wed Mar 06 18:01:13 2013 +0000
+++ b/cherryFxTest.py	Mon Mar 11 13:31:44 2013 +0000
@@ -1,4 +1,3 @@
-
 import cherrypy, os, random, smtplib, string
 from cherrypy.lib.static import serve_file
 from templates import *
@@ -28,22 +27,19 @@
 class HomePage:
 	def index(self):
 		
-		return "move along, nothing to see here!"
+		return "This is the home page..."
 
 	index.exposed = True
 
-
-
 class TestPage:
 
-	def getFiles(self):
-		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']
+	def getAASPFiles(self):
+		audioDir = '/Users/daniele/Documents/AASPChallenge/survey/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']
 	
 	def index(self):
-		TestPage.getFiles(self)
+		TestPage.getAASPFiles(self)
 		cherrypy.session['sid'] = None
 		
 		cherrypy.session['sid_filename'] = None
@@ -60,7 +56,7 @@
 		cherrypy.session['results'] = None
 		cherrypy.session['tests'] = None
 		cherrypy.session['test_nr'] = None
-		cherrypy.session['audio_pairs'] = None
+		cherrypy.session['audio'] = None
 		cherrypy.session['page'] = 0
 		cherrypy.session['pages'] = 6
 		cherrypy.session['userinfobox'] = None
@@ -72,41 +68,28 @@
 		
 		#take 2 examples for each effect
 
-		cherrypy.session['audio_pairs'] = []
+		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'])
+			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])
 			
-		for cherrypy.session['fx'] in cherrypy.session['fxs']:
-			cherrypy.session['dirlist'] = os.listdir('./audio/%s/'%cherrypy.session['fx'])
-			cherrypy.session['filelist'] = []
-			for cherrypy.session['item'] in cherrypy.session['dirlist']:
-				if cherrypy.session['item'].split('.')[-1] == 'mp3':
-					cherrypy.session['filelist'].append(cherrypy.session['item'].split('.')[0])
-			
-			# create audio pairs for this fx
-			
-			cherrypy.session['first'] = cherrypy.session['second'] = random.choice(cherrypy.session['filelist'])
-			while cherrypy.session['first'] == cherrypy.session['second']:
-				cherrypy.session['second'] = random.choice(cherrypy.session['filelist'])
-
-			cherrypy.session['dry1'] = 'dry/%s' %cherrypy.session['first'].split('_%s'%cherrypy.session['fx'])[0]
-			cherrypy.session['fx1'] = '%s/%s' %(cherrypy.session['fx'], cherrypy.session['first'])
-			cherrypy.session['dry2'] = 'dry/%s' %cherrypy.session['second'].split('_%s'%cherrypy.session['fx'])[0]
-			cherrypy.session['fx2'] = '%s/%s' %(cherrypy.session['fx'], cherrypy.session['second'])
-			cherrypy.session['audio_pairs'].append([cherrypy.session['fx'], cherrypy.session['dry1'], cherrypy.session['fx1']])
-			cherrypy.session['audio_pairs'].append([cherrypy.session['fx'], cherrypy.session['dry2'], cherrypy.session['fx2']])
 		
-		#print TestPage.audio_pairs
-		random.shuffle(cherrypy.session['audio_pairs'])
+		#print TestPage.audio
+		random.shuffle(cherrypy.session['audio'])
 		
 		print "NUMBER OF TESTS:"
-		print len(cherrypy.session['audio_pairs'])
+		print len(cherrypy.session['audio'])
 		
 		cherrypy.session['sid'] = cherrypy.session.get_session_path().split('/')[1]
 		print cherrypy.session['sid']
 		
-		#print cherrypy.session['audio_pairs']
-		pprint(cherrypy.session['audio_pairs'])
+		#print cherrypy.session['audio']
+		pprint(cherrypy.session['audio'])
 		
 		
 		TestPage.outfileid = '%s' %cherrypy.session['sid']
@@ -119,7 +102,7 @@
 		return welcome_templ %cherrypy.session['sid']	
 
 		
-	def doStart(self, pageId, sessionId, startButton, uinfo00=None, uinfo01=None, uinfo02=None, info1=None, info2=None, info3=None, info4=None, info5=None):
+	def doStart(self, pageId, sessionId, startButton, uinfo00=None, uinfo01=None, info1=None):
 		
 		
 		
@@ -134,7 +117,7 @@
 		
 		
 		
-		cherrypy.session['userinfobox'] = str([str(uinfo00), str(uinfo01), str(uinfo02), int(info1), int(info2), int(info3), int(info4), int(info5)]) + '\n'
+		cherrypy.session['userinfobox'] = str([str(uinfo00), str(uinfo01), int(info1)]) + '\n'
 		cherrypy.session['sessionId'] = sessionId
 		#print "sid:"
 		#print TestPage.sid
@@ -151,19 +134,19 @@
 		#except: pass
 	
 		cherrypy.session['page'] = 1
-		cherrypy.session['pages'] = 7
-		cherrypy.session['tests'] = len(cherrypy.session['audio_pairs']) #should be 66  #10 * cherrypy.session['pages']
+		cherrypy.session['pages'] = 10
+		cherrypy.session['tests'] = len(cherrypy.session['audio']) #should be 66  #10 * cherrypy.session['pages']
 		cherrypy.session['results'] = []
-		for cherrypy.session['n'] in xrange(cherrypy.session['tests']): cherrypy.session['results'].append([None,0,0,0,0])
+		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(40):
+		for cherrypy.session['k'] in xrange(10):
 			cherrypy.session['ts'].append(0)
 			
 		return audiotempl%TestPage.makeTuple(self, 10)
 		
-	def doAttrib(self, pageId, sessionId, submitButton, attribute1_1=None, attribute1_2=None, attribute1_3=None, attribute1_4=None, attribute2_1=None, attribute2_2=None, attribute2_3=None, attribute2_4=None, attribute3_1=None, attribute3_2=None, attribute3_3=None, attribute3_4=None, attribute4_1=None, attribute4_2=None, attribute4_3=None, attribute4_4=None, attribute5_1=None, attribute5_2=None, attribute5_3=None, attribute5_4=None, attribute6_1=None, attribute6_2=None, attribute6_3=None, attribute6_4=None, attribute7_1=None, attribute7_2=None, attribute7_3=None, attribute7_4=None, attribute8_1=None, attribute8_2=None, attribute8_3=None, attribute8_4=None, attribute9_1=None, attribute9_2=None, attribute9_3=None, attribute9_4=None, attribute10_1=None, attribute10_2=None, attribute10_3=None, attribute10_4=None):
+	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
  			
@@ -182,16 +165,16 @@
 		
 		cherrypy.session['pos'] = 10 * (cherrypy.session['page'] - 1)		
 	 
-		cherrypy.session['results'][cherrypy.session['pos']] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']][2].split('/')[-1], int(attribute1_1), int(attribute1_2), int(attribute1_3), int(attribute1_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+1] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+1][2].split('/')[-1], int(attribute2_1), int(attribute2_2), int(attribute2_3), int(attribute2_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+2] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+2][2].split('/')[-1], int(attribute3_1), int(attribute3_2), int(attribute3_3), int(attribute3_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+3] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+3][2].split('/')[-1], int(attribute4_1), int(attribute4_2), int(attribute4_3), int(attribute4_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+4] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+4][2].split('/')[-1], int(attribute5_1), int(attribute5_2), int(attribute5_3), int(attribute5_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+5] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+5][2].split('/')[-1], int(attribute6_1), int(attribute6_2), int(attribute6_3), int(attribute6_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+6] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+6][2].split('/')[-1], int(attribute7_1), int(attribute7_2), int(attribute7_3), int(attribute7_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+7] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+7][2].split('/')[-1], int(attribute8_1), int(attribute8_2), int(attribute8_3), int(attribute8_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+8] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+8][2].split('/')[-1], int(attribute9_1), int(attribute9_2), int(attribute9_3), int(attribute9_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+9] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+9][2].split('/')[-1], int(attribute10_1), int(attribute10_2), int(attribute10_3), int(attribute10_4)]
+		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)]
 		
 		
 		resString = cherrypy.session['ip'] + '\n' + TestPage.outfileid + '\n' + cherrypy.session['userinfobox'] + '\n' + ',\n'.join(str(x) for x in cherrypy.session['results'])
@@ -219,10 +202,7 @@
 				#print cherrypy.session['i']
 				cherrypy.session['ts'].append(cherrypy.session['results'][cherrypy.session['npos']+cherrypy.session['k']][cherrypy.session['i']+1])	
 			
-		if cherrypy.session['page'] < cherrypy.session['pages']:
-			return audiotempl%TestPage.makeTuple(self, cherrypy.session['m'])
-		else:
-			return audiotemplast%TestPage.makeTuple(self, cherrypy.session['m'])
+		return audiotempl%TestPage.makeTuple(self, cherrypy.session['m'])
 
 	
 	index.exposed = True
@@ -231,7 +211,7 @@
 	doStart.exposed = True
 
 	
-	def doAttrib2(self, pageId, sessionId, submitButton, attribute1_1=None, attribute1_2=None, attribute1_3=None, attribute1_4=None, attribute2_1=None, attribute2_2=None, attribute2_3=None, attribute2_4=None, attribute3_1=None, attribute3_2=None, attribute3_3=None, attribute3_4=None, attribute4_1=None, attribute4_2=None, attribute4_3=None, attribute4_4=None, attribute5_1=None, attribute5_2=None, attribute5_3=None, attribute5_4=None, attribute6_1=None, attribute6_2=None, attribute6_3=None, attribute6_4=None):
+	def doAttrib2(self, pageId, sessionId, submitButton, attribute1=None, attribute2=None, attribute3=None, attribute4=None, attribute5=None, attribute6=None):
 		#print attribute1 + ' ' + attribute2
 		# Error check
  			
@@ -250,12 +230,12 @@
 		
 		cherrypy.session['pos'] = 10 * (cherrypy.session['page'] - 1)		
 	 
-		cherrypy.session['results'][cherrypy.session['pos']] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']][2].split('/')[-1], int(attribute1_1), int(attribute1_2), int(attribute1_3), int(attribute1_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+1] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+1][2].split('/')[-1], int(attribute2_1), int(attribute2_2), int(attribute2_3), int(attribute2_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+2] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+2][2].split('/')[-1], int(attribute3_1), int(attribute3_2), int(attribute3_3), int(attribute3_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+3] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+3][2].split('/')[-1], int(attribute4_1), int(attribute4_2), int(attribute4_3), int(attribute4_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+4] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+4][2].split('/')[-1], int(attribute5_1), int(attribute5_2), int(attribute5_3), int(attribute5_4)]
-		cherrypy.session['results'][cherrypy.session['pos']+5] = [cherrypy.session['audio_pairs'][cherrypy.session['pos']+5][2].split('/')[-1], int(attribute6_1), int(attribute6_2), int(attribute6_3), int(attribute6_4)]
+		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)]
 
 		
 		
@@ -305,8 +285,7 @@
 		for cherrypy.session['k'] in xrange(cherrypy.session['nr']):
 			pos = 10 * (cherrypy.session['page'] - 1) + cherrypy.session['k']
 			#print pos
-			for n in xrange(3): cherrypy.session['ts'].append(cherrypy.session['audio_pairs'][pos][1])
-			for n in xrange(3): cherrypy.session['ts'].append(cherrypy.session['audio_pairs'][pos][2])		
+			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'])
@@ -357,9 +336,6 @@
 		return '''
 		<html>
 		<body>
-		<div id="video">
-		<embed id="roll-video" src="http://www.dafk.net/what/ilovethe80s.swf" width="400" height="300"></embed>
-		</div>
 		</body>
 		</html>
 		
@@ -413,8 +389,7 @@
 	# Of course we can also mount request handler objects right here!
 	root = HomePage()
 	root.test = TestPage()
-	root.daniele = TestPage()
-	root.out = OutPage()
+	#root.out = OutPage()
 	#root = TestPage()	
 	
 	server = CherryPyServer(ServerConfig(root=root,local=local,conf=conf)) 
@@ -435,5 +410,4 @@
 	startFxTest(sys.argv[1:])
 else:
 	# This branch is for the test suite; you can ignore it.
-	cherrypy.tree.mount(root, config=tutconf)
-
+	cherrypy.tree.mount(root, config=tutconf)
\ No newline at end of file