comparison cherryFxTest.py @ 13:8261089e6f04

Changed to one single file per page
author Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk>
date Wed, 13 Mar 2013 16:14:53 +0000
parents 8a595d55e245
children e4921590577e
comparison
equal deleted inserted replaced
12:8a595d55e245 13:8261089e6f04
101 return TestPage.index2(self) 101 return TestPage.index2(self)
102 102
103 def index2(self): 103 def index2(self):
104 104
105 cherrypy.session['page'] = 1 105 cherrypy.session['page'] = 1
106 cherrypy.session['pages'] = 10 106 cherrypy.session['pages'] = 100
107 cherrypy.session['tests'] = len(cherrypy.session['audio']) 107 cherrypy.session['tests'] = len(cherrypy.session['audio'])
108 cherrypy.session['results'] = [] 108 cherrypy.session['results'] = []
109 for cherrypy.session['n'] in xrange(cherrypy.session['tests']): cherrypy.session['results'].append([None]) 109 for cherrypy.session['n'] in xrange(cherrypy.session['tests']): cherrypy.session['results'].append([None])
110 110
111 cherrypy.session['ts'] = [] 111 cherrypy.session['ts'] = []
112 for cherrypy.session['k'] in xrange(10): 112 for cherrypy.session['k'] in xrange(1):
113 cherrypy.session['ts'].append(0) 113 cherrypy.session['ts'].append(0)
114 114
115 print "################################# %s" %str(cherrypy.session['page']) 115 print "################################# %s" %str(cherrypy.session['page'])
116 return audiotempl%TestPage.makeTuple(self, 10) 116 return audiotempl%TestPage.makeTuple(self, 1)
117 117
118 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): 118 def doAttrib(self, pageId, sessionId, submitButton, attribute1=None):
119 119
120 print "################################# %s" %pageId 120 print "################################# %s" %pageId
121 121
122 if cherrypy.session['page'] != int(pageId): 122 if cherrypy.session['page'] != int(pageId):
123 print "################################# BACK BUTTON PRESSED #################################" 123 print "################################# BACK BUTTON PRESSED #################################"
125 cherrypy.session['page'] = int(pageId) 125 cherrypy.session['page'] = int(pageId)
126 126
127 if cherrypy.session['sid'] != str(sessionId): 127 if cherrypy.session['sid'] != str(sessionId):
128 return TestPage.sessionError(self) 128 return TestPage.sessionError(self)
129 129
130 cherrypy.session['pos'] = 10 * (cherrypy.session['page'] - 1) 130 cherrypy.session['pos'] = (cherrypy.session['page'] - 1)
131 131
132 cherrypy.session['results'][cherrypy.session['pos']] = [cherrypy.session['audio'][cherrypy.session['pos']].split('/')[-1], int(attribute1)] 132 cherrypy.session['results'][cherrypy.session['pos']] = [cherrypy.session['audio'][cherrypy.session['pos']].split('/')[-1], int(attribute1)]
133 cherrypy.session['results'][cherrypy.session['pos']+1] = [cherrypy.session['audio'][cherrypy.session['pos']+1].split('/')[-1], int(attribute2)] 133
134 cherrypy.session['results'][cherrypy.session['pos']+2] = [cherrypy.session['audio'][cherrypy.session['pos']+2].split('/')[-1], int(attribute3)]
135 cherrypy.session['results'][cherrypy.session['pos']+3] = [cherrypy.session['audio'][cherrypy.session['pos']+3].split('/')[-1], int(attribute4)]
136 cherrypy.session['results'][cherrypy.session['pos']+4] = [cherrypy.session['audio'][cherrypy.session['pos']+4].split('/')[-1], int(attribute5)]
137 cherrypy.session['results'][cherrypy.session['pos']+5] = [cherrypy.session['audio'][cherrypy.session['pos']+5].split('/')[-1], int(attribute6)]
138 cherrypy.session['results'][cherrypy.session['pos']+6] = [cherrypy.session['audio'][cherrypy.session['pos']+6].split('/')[-1], int(attribute7)]
139 cherrypy.session['results'][cherrypy.session['pos']+7] = [cherrypy.session['audio'][cherrypy.session['pos']+7].split('/')[-1], int(attribute8)]
140 cherrypy.session['results'][cherrypy.session['pos']+8] = [cherrypy.session['audio'][cherrypy.session['pos']+8].split('/')[-1], int(attribute9)]
141 cherrypy.session['results'][cherrypy.session['pos']+9] = [cherrypy.session['audio'][cherrypy.session['pos']+9].split('/')[-1], int(attribute10)]
142 resString = cherrypy.session['ip'] + '\n' + TestPage.outfileid + '\n' + cherrypy.session['userinfobox'] + '\n' + ',\n'.join(str(x) for x in cherrypy.session['results']) 134 resString = cherrypy.session['ip'] + '\n' + TestPage.outfileid + '\n' + cherrypy.session['userinfobox'] + '\n' + ',\n'.join(str(x) for x in cherrypy.session['results'])
143 print resString 135 print resString
144 136
145 137
146 cherrypy.session.write_data(resString,'%s.txt'%TestPage.outfileid) 138 cherrypy.session.write_data(resString,'%s.txt'%TestPage.outfileid)
147 139
148 140
149 141
150 cherrypy.session['page'] += 1 142 cherrypy.session['page'] += 1
151 cherrypy.session['ts'] = [] 143 cherrypy.session['ts'] = []
152 cherrypy.session['npos'] = cherrypy.session['pos'] + 10 144 cherrypy.session['npos'] = cherrypy.session['pos'] + 1
153 145
154 cherrypy.session['m'] = 10 146 cherrypy.session['m'] = 1
155 147
156 for cherrypy.session['k'] in xrange(cherrypy.session['m']): cherrypy.session['ts'].append(0) 148 for cherrypy.session['k'] in xrange(cherrypy.session['m']): cherrypy.session['ts'].append(0)
157 #cherrypy.session['ts'].append(cherrypy.session['results'][cherrypy.session['npos']+cherrypy.session['k']]) 149 #cherrypy.session['ts'].append(cherrypy.session['results'][cherrypy.session['npos']+cherrypy.session['k']])
158 150
159 151 if cherrypy.session['page'] != 100:
160 return audiotempl%TestPage.makeTuple(self, cherrypy.session['m']) 152 return audiotempl%TestPage.makeTuple(self, cherrypy.session['m'])
161 153 else:
162 #if cherrypy.session['page'] != cherrypy.session['pages'] 154 return endtempl%resString
163 # return audiotempl%TestPage.makeTuple(self, cherrypy.session['m'])
164 #else
165 # cherrypy.session['templ'] = ''
166 # for cherrypy.session['n'] in xrange(cherrypy.session['tests']):
167 # 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])
168 # cherrypy.session['templ'] += cherrypy.session['_templ']
169 # try:
170 # TestPage.sendMail(self)
171 # except:
172 # print "WARNING: COULD NOT SEND RESULTS"
173 # pass
174 # cherrypy.session['sid'] = None
175 # return endtempl%cherrypy.session['templ']
176 155
177 index.exposed = True 156 index.exposed = True
178 doAttrib.exposed = True 157 doAttrib.exposed = True
179 index2.exposed = True 158 index2.exposed = True
180 doStart.exposed = True 159 doStart.exposed = True
182 def makeTuple(TestPage, nr): 161 def makeTuple(TestPage, nr):
183 cherrypy.session['nr'] = nr 162 cherrypy.session['nr'] = nr
184 cherrypy.session['ts'].append(cherrypy.session['page']) 163 cherrypy.session['ts'].append(cherrypy.session['page'])
185 cherrypy.session['ts'].append(cherrypy.session['pages']) 164 cherrypy.session['ts'].append(cherrypy.session['pages'])
186 for cherrypy.session['k'] in xrange(cherrypy.session['nr']): 165 for cherrypy.session['k'] in xrange(cherrypy.session['nr']):
187 pos = 10 * (cherrypy.session['page'] - 1) + cherrypy.session['k'] 166 pos = (cherrypy.session['page'] - 1) + cherrypy.session['k']
188 for n in xrange(3): cherrypy.session['ts'].append(cherrypy.session['audio'][pos]) 167 for n in xrange(3): cherrypy.session['ts'].append(cherrypy.session['audio'][pos])
189 cherrypy.session['ts'].append(cherrypy.session['page']) 168 cherrypy.session['ts'].append(cherrypy.session['page'])
190 cherrypy.session['ts'].append(cherrypy.session['sid']) 169 cherrypy.session['ts'].append(cherrypy.session['sid'])
191 cherrypy.session['ts'] = tuple(cherrypy.session['ts']) 170 cherrypy.session['ts'] = tuple(cherrypy.session['ts'])
192 print cherrypy.session['ts'] 171 print cherrypy.session['ts']
207 </p>''' 186 </p>'''
208 187
209 188
210 def sendMail(TestPage): 189 def sendMail(TestPage):
211 cherrypy.session['file'] = './sessions/%s/%s.txt'%(cherrypy.session['sid'], TestPage.outfileid) 190 cherrypy.session['file'] = './sessions/%s/%s.txt'%(cherrypy.session['sid'], TestPage.outfileid)
212 username = 'eecsqmul@gmail.com' 191 # username = 'eecsqmul@gmail.com'
213 password = 'perceptual' 192 # password = 'perceptual'
214 fro = 'FX-Test <eecsqmul@gmail.com>' 193 # fro = 'FX-Test <eecsqmul@gmail.com>'
215 to = ['thomas.wilmering@eecs.qmul.ac.uk', 'gyorgy.fazekas@eecs.qmul.ac.uk'] 194 # to = ['thomas.wilmering@eecs.qmul.ac.uk', 'gyorgy.fazekas@eecs.qmul.ac.uk']
216 msg = MIMEMultipart() 195 # msg = MIMEMultipart()
217 msg['From'] = fro 196 # msg['From'] = fro
218 msg['To'] = COMMASPACE.join(to) 197 # msg['To'] = COMMASPACE.join(to)
219 msg['Date'] = formatdate(localtime=True) 198 # msg['Date'] = formatdate(localtime=True)
220 msg['Subject'] = 'fx perceptual listening test' 199 # msg['Subject'] = 'fx perceptual listening test'
221 msg.attach( MIMEText('Attached are new results from the listening test.')) 200 # msg.attach( MIMEText('Attached are new results from the listening test.'))
222 part = MIMEBase('application', "octet-stream") 201 # part = MIMEBase('application', "octet-stream")
223 part.set_payload( open(cherrypy.session['file'],"rb").read() ) 202 # part.set_payload( open(cherrypy.session['file'],"rb").read() )
224 Encoders.encode_base64(part) 203 # Encoders.encode_base64(part)
225 part.add_header('Content-Disposition', 'attachment; filename="%s"' % cherrypy.session['file']) 204 # part.add_header('Content-Disposition', 'attachment; filename="%s"' % cherrypy.session['file'])
226 msg.attach(part) 205 # msg.attach(part)
227 server = smtplib.SMTP('smtp.gmail.com:587') 206 # server = smtplib.SMTP('smtp.gmail.com:587')
228 server.starttls() 207 # server.starttls()
229 server.login(username,password) 208 # server.login(username,password)
230 server.sendmail(fro, to, msg.as_string() ) 209 # server.sendmail(fro, to, msg.as_string() )
231 server.close() 210 # server.close()
232 211
233 212
234 class OutPage: 213 class OutPage:
235 def index(self): 214 def index(self):
236 return ''' 215 return '''