# HG changeset patch # User Daniele Barchiesi # Date 1363008929 0 # Node ID 8498a7b84ff1e6e82c05ce05719d576699bfc575 # Parent 15260ae0d6bc653535cc443ec62e0f23757206af • Audio files diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus01.wav Binary file AASPAudio/bus/bus01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus02.wav Binary file AASPAudio/bus/bus02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus03.wav Binary file AASPAudio/bus/bus03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus04.wav Binary file AASPAudio/bus/bus04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus05.wav Binary file AASPAudio/bus/bus05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus06.wav Binary file AASPAudio/bus/bus06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus07.wav Binary file AASPAudio/bus/bus07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus08.wav Binary file AASPAudio/bus/bus08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus09.wav Binary file AASPAudio/bus/bus09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/bus/bus10.wav Binary file AASPAudio/bus/bus10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet01.wav Binary file AASPAudio/busystreet/busystreet01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet02.wav Binary file AASPAudio/busystreet/busystreet02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet03.wav Binary file AASPAudio/busystreet/busystreet03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet04.wav Binary file AASPAudio/busystreet/busystreet04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet05.wav Binary file AASPAudio/busystreet/busystreet05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet06.wav Binary file AASPAudio/busystreet/busystreet06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet07.wav Binary file AASPAudio/busystreet/busystreet07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet08.wav Binary file AASPAudio/busystreet/busystreet08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet09.wav Binary file AASPAudio/busystreet/busystreet09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/busystreet/busystreet10.wav Binary file AASPAudio/busystreet/busystreet10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office01.wav Binary file AASPAudio/office/office01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office02.wav Binary file AASPAudio/office/office02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office03.wav Binary file AASPAudio/office/office03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office04.wav Binary file AASPAudio/office/office04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office05.wav Binary file AASPAudio/office/office05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office06.wav Binary file AASPAudio/office/office06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office07.wav Binary file AASPAudio/office/office07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office08.wav Binary file AASPAudio/office/office08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office09.wav Binary file AASPAudio/office/office09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/office/office10.wav Binary file AASPAudio/office/office10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket01.wav Binary file AASPAudio/openairmarket/openairmarket01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket02.wav Binary file AASPAudio/openairmarket/openairmarket02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket03.wav Binary file AASPAudio/openairmarket/openairmarket03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket04.wav Binary file AASPAudio/openairmarket/openairmarket04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket05.wav Binary file AASPAudio/openairmarket/openairmarket05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket06.wav Binary file AASPAudio/openairmarket/openairmarket06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket07.wav Binary file AASPAudio/openairmarket/openairmarket07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket08.wav Binary file AASPAudio/openairmarket/openairmarket08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket09.wav Binary file AASPAudio/openairmarket/openairmarket09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/openairmarket/openairmarket10.wav Binary file AASPAudio/openairmarket/openairmarket10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park01.wav Binary file AASPAudio/park/park01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park02.wav Binary file AASPAudio/park/park02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park03.wav Binary file AASPAudio/park/park03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park04.wav Binary file AASPAudio/park/park04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park05.wav Binary file AASPAudio/park/park05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park06.wav Binary file AASPAudio/park/park06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park07.wav Binary file AASPAudio/park/park07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park08.wav Binary file AASPAudio/park/park08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park09.wav Binary file AASPAudio/park/park09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/park/park10.wav Binary file AASPAudio/park/park10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet01.wav Binary file AASPAudio/quietstreet/quietstreet01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet02.wav Binary file AASPAudio/quietstreet/quietstreet02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet03.wav Binary file AASPAudio/quietstreet/quietstreet03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet04.wav Binary file AASPAudio/quietstreet/quietstreet04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet05.wav Binary file AASPAudio/quietstreet/quietstreet05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet06.wav Binary file AASPAudio/quietstreet/quietstreet06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet07.wav Binary file AASPAudio/quietstreet/quietstreet07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet08.wav Binary file AASPAudio/quietstreet/quietstreet08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet09.wav Binary file AASPAudio/quietstreet/quietstreet09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/quietstreet/quietstreet10.wav Binary file AASPAudio/quietstreet/quietstreet10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant01.wav Binary file AASPAudio/restaurant/restaurant01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant02.wav Binary file AASPAudio/restaurant/restaurant02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant03.wav Binary file AASPAudio/restaurant/restaurant03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant04.wav Binary file AASPAudio/restaurant/restaurant04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant05.wav Binary file AASPAudio/restaurant/restaurant05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant06.wav Binary file AASPAudio/restaurant/restaurant06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant07.wav Binary file AASPAudio/restaurant/restaurant07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant08.wav Binary file AASPAudio/restaurant/restaurant08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant09.wav Binary file AASPAudio/restaurant/restaurant09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/restaurant/restaurant10.wav Binary file AASPAudio/restaurant/restaurant10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket01.wav Binary file AASPAudio/supermarket/supermarket01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket02.wav Binary file AASPAudio/supermarket/supermarket02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket03.wav Binary file AASPAudio/supermarket/supermarket03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket04.wav Binary file AASPAudio/supermarket/supermarket04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket05.wav Binary file AASPAudio/supermarket/supermarket05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket06.wav Binary file AASPAudio/supermarket/supermarket06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket07.wav Binary file AASPAudio/supermarket/supermarket07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket08.wav Binary file AASPAudio/supermarket/supermarket08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket09.wav Binary file AASPAudio/supermarket/supermarket09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/supermarket/supermarket10.wav Binary file AASPAudio/supermarket/supermarket10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube01.wav Binary file AASPAudio/tube/tube01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube02.wav Binary file AASPAudio/tube/tube02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube03.wav Binary file AASPAudio/tube/tube03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube04.wav Binary file AASPAudio/tube/tube04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube05.wav Binary file AASPAudio/tube/tube05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube06.wav Binary file AASPAudio/tube/tube06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube07.wav Binary file AASPAudio/tube/tube07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube08.wav Binary file AASPAudio/tube/tube08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube09.wav Binary file AASPAudio/tube/tube09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tube/tube10.wav Binary file AASPAudio/tube/tube10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation01.wav Binary file AASPAudio/tubestation/tubestation01.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation02.wav Binary file AASPAudio/tubestation/tubestation02.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation03.wav Binary file AASPAudio/tubestation/tubestation03.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation04.wav Binary file AASPAudio/tubestation/tubestation04.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation05.wav Binary file AASPAudio/tubestation/tubestation05.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation06.wav Binary file AASPAudio/tubestation/tubestation06.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation07.wav Binary file AASPAudio/tubestation/tubestation07.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation08.wav Binary file AASPAudio/tubestation/tubestation08.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation09.wav Binary file AASPAudio/tubestation/tubestation09.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 AASPAudio/tubestation/tubestation10.wav Binary file AASPAudio/tubestation/tubestation10.wav has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 DirectorySession.pyc Binary file DirectorySession.pyc has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 ServerWrapper.pyc Binary file ServerWrapper.pyc has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 cherryFxTest.py.orig --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cherryFxTest.py.orig Mon Mar 11 13:35:29 2013 +0000 @@ -0,0 +1,420 @@ + +import cherrypy, os, random, smtplib, string +from cherrypy.lib.static import serve_file +from templates import * + +from DirectorySession import DirectorySession +from ServerWrapper import ServerWrapper as CherryPyServer +from ServerWrapper import Config as ServerConfig + +from email.MIMEBase import MIMEBase +from email.MIMEText import MIMEText +from email.MIMEMultipart import MIMEMultipart +from email.Utils import COMMASPACE, formatdate +from email import Encoders + +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): + + return "move along, nothing to see here!" + + index.exposed = True + + + +class TestPage: + + def getAASPFiles(self): + 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'] + + def index(self): + TestPage.getAASPFiles(self) + cherrypy.session['sid'] = None + + cherrypy.session['sid_filename'] = None + + + if cherrypy.request.headers.has_key("X-Forwarded-For"): + cherrypy.session['ip'] = cherrypy.request.headers["X-Forwarded-For"] + elif cherrypy.request.headers.has_key("Remote-Addr"): + cherrypy.session['ip'] = cherrypy.request.headers["Remote-Addr"] + else : + cherrypy.session['ip'] = None + + cherrypy.session['test'] = None + cherrypy.session['results'] = None + cherrypy.session['tests'] = None + cherrypy.session['test_nr'] = None + cherrypy.session['audio'] = None + cherrypy.session['page'] = 0 + cherrypy.session['pages'] = 6 + cherrypy.session['userinfobox'] = None + cherrypy.session['ts'] = None + #return ''' + #

+ # start test + #

''' + + #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('./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']) + + cherrypy.session['sid'] = cherrypy.session.get_session_path().split('/')[1] + print cherrypy.session['sid'] + + #print cherrypy.session['audio'] + pprint(cherrypy.session['audio']) + + + TestPage.outfileid = '%s' %cherrypy.session['sid'] + ida = 0 + while os.path.exists('./sessions/%s/%s.txt' %(cherrypy.session['sid'], TestPage.outfileid)): + TestPage.outfileid += '_%s' %ida + ida += 1 + + + return welcome_templ %cherrypy.session['sid'] + + + 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['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) + + 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 #################################" + + 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)] + 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']) + + #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 + + 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]) + + return audiotempl%TestPage.makeTuple(self, cherrypy.session['m']) + + + 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 + cherrypy.session['ts'].append(cherrypy.session['page']) + 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]) + cherrypy.session['ts'].append(cherrypy.session['page']) + cherrypy.session['ts'].append(cherrypy.session['sid']) + cherrypy.session['ts'] = tuple(cherrypy.session['ts']) + print cherrypy.session['ts'] + return cherrypy.session['ts'] + + def sessionError(TestPage): + print "################################# SESSION ERROR #################################" + cherrypy.session['resString'] = cherrypy.session['ip'] + '\n' + str(cherrypy.session['sid']) + '\n' + cherrypy.session['userinfobox'] + '\n' + ',\n'.join(str(x) for x in cherrypy.session['results']) + cherrypy.session['resString'] += '\n\nERROR: SESSION CONFUSION' + #f = open(TestPage.sid_filename, 'w') + #f.write(resString) + #f.close() + cherrypy.session.write_data(cherrypy.session['resString'],'%s.txt'%TestPage.outfileid) + + return ''' +

+ oh noes! there is something wrong with your session, please start again or go for a coffee! +

''' + + + def sendMail(TestPage): + cherrypy.session['file'] = './sessions/%s/%s.txt'%(cherrypy.session['sid'], TestPage.outfileid) + username = 'eecsqmul@gmail.com' + password = 'perceptual' + fro = 'FX-Test ' + to = ['thomas.wilmering@eecs.qmul.ac.uk', 'gyorgy.fazekas@eecs.qmul.ac.uk'] + msg = MIMEMultipart() + msg['From'] = fro + msg['To'] = COMMASPACE.join(to) + msg['Date'] = formatdate(localtime=True) + msg['Subject'] = 'fx perceptual listening test' + msg.attach( MIMEText('Attached are new results from the listening test.')) + part = MIMEBase('application', "octet-stream") + part.set_payload( open(cherrypy.session['file'],"rb").read() ) + Encoders.encode_base64(part) + part.add_header('Content-Disposition', 'attachment; filename="%s"' % cherrypy.session['file']) + msg.attach(part) + server = smtplib.SMTP('smtp.gmail.com:587') + server.starttls() + server.login(username,password) + server.sendmail(fro, to, msg.as_string() ) + server.close() + + +class OutPage: + def index(self): + return ''' + + +
+ +
+ + + + ''' + index.exposed = True + + +# # Of course we can also mount request handler objects right here! +# root = HomePage() +# root.test = TestPage() +# root.out = OutPage() +# #root = TestPage() +# +# tutconf = os.path.join(os.path.dirname(__file__), 'conf.conf') + + +def startFxTest(args): + + # check local switch + if args.count('-local') : + local = True; args.remove('-local'); + print 'Startup: Local mode.' + conf = os.path.join(os.path.dirname(__file__), 'local.conf') + else: + conf = os.path.join(os.path.dirname(__file__), 'server.conf') + local = False + + # check string encoding + print "Startup: String encoding = '%s'" %(str(sys.getdefaultencoding())) + + # check ip switch + ip = '' + if args.count('-ip') : + try : + # here we just see if it's numeric, parsing is done by the server wrapper + if args[args.index('-ip')+1].replace('.','').replace(':','').isdigit() : + ip = args[args.index('-ip')+1] + else : + print "Startup: Invalid service IP address. Use format: sawa.py -ip 127.0.0.1:8080" + os._exit(-1) + except : + print "Startup: Invalid service IP address. (Insufficient arguments.) Use format: cherryFxTest.py -ip 127.0.0.1:8080" + os._exit(-1) + args.remove(args[args.index('-ip')+1]); + args.remove('-ip') + + + # old command: + # cherrypy.quickstart(root, config=conf) + + # Of course we can also mount request handler objects right here! + root = HomePage() + root.test = TestPage() + root.daniele = TestPage() + root.out = OutPage() + #root = TestPage() + + server = CherryPyServer(ServerConfig(root=root,local=local,conf=conf)) + # if local : + # server = CherryPyServer(ServerConfig(root=root,local=local,conf=conf)) + # else : + # server = CherryPyServer(ServerConfig(root=False,local=local,conf=conf)) + server.mount(root,path_name='') + server.quickstart(ip) + + +if __name__ == '__main__': + # CherryPy always starts with app.root when trying to map request URIs + # to objects, so we need to mount a request handler root. A request + # to '/' will be mapped to HelloWorld().index(). + # cherrypy.quickstart(root, config=tutconf) + import sys + startFxTest(sys.argv[1:]) +else: + # This branch is for the test suite; you can ignore it. + cherrypy.tree.mount(root, config=tutconf) \ No newline at end of file diff -r 15260ae0d6bc -r 8498a7b84ff1 sawautil/Utilities.pyc Binary file sawautil/Utilities.pyc has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 sawautil/__init__.pyc Binary file sawautil/__init__.pyc has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 templates.py.orig --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates.py.orig Mon Mar 11 13:35:29 2013 +0000 @@ -0,0 +1,448 @@ + +audiotempl= ''' + + + + + + + + + + + + Digital Audio FX Perceptual Attributes + + + + + + + + + + + + + +
+
+
Digital Audio FX
+
Perceptual Attributes Listening Test
+
+
+ 
+ + + + +

%i/%i


+

Please play the sounds and indicate where they have been recorded

+ +
+ + + +
+main: + +
+ +
+ + + +
+

main: + + +

+
+ + + +
+

main: + +

+
+ + + +
+

main: + +

+
+ + + +
+

main: + +

+
+ + + +
+

main: + +

+
+ + + +
+

main: + +

+
+ + + +
+

main: + +

+
+ + + +
+

main: + +

+
+ + + +
+

main: + +

+
+ + + + + + +
+ + + +
+ + + + + + + +''' + +welcome_templ= ''' + + + + + + + + + + + Digital Audio FX Perceptual Attributes + + + + + + + + +
+
+
Digital Audio FX
+
Perceptual Attributes Listening Test
+
+
+ 
+ +

Welcome!


+ +

+ + + +
+
+

+Select Username
+ +

+ +Age
+ +

+It is encouraged to use high quality headphones for this test. However, if you use loudspeakers instead make sure you're in the correct position between the speakers in order to evaluate stereo effects. Please specify (the closest to) your listening conditions: +
+ + +
+
+

Please note that HTML5 support is limited on this website and ADOBE FLASH is recommended

+ + + +

+ + + + + +
+
+

Thank you for participating in this project!


+ +
+ + + +''' + +endtempl = ''' + + + + + +

results

+ + + + + + + + +%s +
Audio FileMain 1Main 2Other 1Other 2
+

thanks!

+ + +''' +#

thanks!

+ +endtempl2 = ''' + +%s +
%s
+
%s
+
%s
+
%s
+ +''' diff -r 15260ae0d6bc -r 8498a7b84ff1 templates.pyc Binary file templates.pyc has changed diff -r 15260ae0d6bc -r 8498a7b84ff1 templates_old.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates_old.py Mon Mar 11 13:35:29 2013 +0000 @@ -0,0 +1,398 @@ +audiotempl= ''' + + + + + + + + + + + Audio Environment Classification + + + + + + + + + + + + +
+
+
Audio Environment Classification - Listening Test
+
+
+ 
+ +

%i/%i


+

Please play the sounds and indicate where they have been recorded

+ +
+ + + + +bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + +
+bus +busy street +office +open air market +park
+quiet street +restaurant +supermarket +tube +tube station +
+
+ + + + + + + + + + +
+ + + + + + + +''' + +welcome_templ= ''' + + + + + + + + + + Digital Audio FX Perceptual Attributes + + + + + + + + +
+
+
Digital Audio FX
+
Perceptual Attributes Listening Test
+
+
+ 
+ +

Welcome!


+ +

+ + + +
+
+

+Select Username
+ +

+ +Age
+ +

+It is encouraged to use high quality headphones for this test. However, if you use loudspeakers instead make sure you're in the correct position between the speakers in order to evaluate stereo effects. Please specify (the closest to) your listening conditions: +
+ + +
+
+

Please note that HTML5 support is limited on this website and ADOBE FLASH is recommended

+ + + +

+ + + + + +
+
+

Thank you for participating in this project!


+ +
+ + + +''' + +endtempl = ''' + + + + + +

results

+ + + + + + + + +%s +
Audio FileMain 1Main 2Other 1Other 2
+

thanks!

+ + +''' +#

thanks!

+ +endtempl2 = ''' + +%s +
%s
+
%s
+
%s
+
%s
+ +'''