Commit 6bcb40b5 by ichuang

capa_problem and responsetypes pep8 and pyflakes

parent 6d444de0
...@@ -14,7 +14,6 @@ This is used by capa_module. ...@@ -14,7 +14,6 @@ This is used by capa_module.
from __future__ import division from __future__ import division
import copy
import logging import logging
import math import math
import numpy import numpy
...@@ -156,7 +155,7 @@ class LoncapaProblem(object): ...@@ -156,7 +155,7 @@ class LoncapaProblem(object):
if hasattr(responder,'get_max_score'): if hasattr(responder,'get_max_score'):
try: try:
maxscore += responder.get_max_score() maxscore += responder.get_max_score()
except Exception, err: except Exception:
log.error('responder %s failed to properly return from get_max_score()' % responder) log.error('responder %s failed to properly return from get_max_score()' % responder)
raise raise
else: else:
...@@ -176,7 +175,7 @@ class LoncapaProblem(object): ...@@ -176,7 +175,7 @@ class LoncapaProblem(object):
for key in self.correct_map: for key in self.correct_map:
try: try:
correct += self.correct_map.get_npoints(key) correct += self.correct_map.get_npoints(key)
except Exception,err: except Exception:
log.error('key=%s, correct_map = %s' % (key,self.correct_map)) log.error('key=%s, correct_map = %s' % (key,self.correct_map))
raise raise
......
...@@ -505,7 +505,6 @@ def sympy_check2(): ...@@ -505,7 +505,6 @@ def sympy_check2():
def setup_response(self): def setup_response(self):
xml = self.xml xml = self.xml
context = self.context
# if <customresponse> has an "expect" (or "answer") attribute then save that # if <customresponse> has an "expect" (or "answer") attribute then save that
self.expect = xml.get('expect') or xml.get('answer') self.expect = xml.get('expect') or xml.get('answer')
...@@ -560,7 +559,7 @@ def sympy_check2(): ...@@ -560,7 +559,7 @@ def sympy_check2():
msg = '[courseware.capa.responsetypes.customresponse] error getting student answer from %s' % student_answers msg = '[courseware.capa.responsetypes.customresponse] error getting student answer from %s' % student_answers
msg += '\n idset = %s, error = %s' % (idset,err) msg += '\n idset = %s, error = %s' % (idset,err)
log.error(msg) log.error(msg)
raise Exception,msg raise Exception(msg)
# global variable in context which holds the Presentation MathML from dynamic math input # global variable in context which holds the Presentation MathML from dynamic math input
dynamath = [ student_answers.get(k+'_dynamath',None) for k in idset ] # ordered list of dynamath responses dynamath = [ student_answers.get(k+'_dynamath',None) for k in idset ] # ordered list of dynamath responses
...@@ -623,7 +622,7 @@ def sympy_check2(): ...@@ -623,7 +622,7 @@ def sympy_check2():
log.error("oops in customresponse (cfn) error %s" % err) log.error("oops in customresponse (cfn) error %s" % err)
# print "context = ",self.context # print "context = ",self.context
log.error(traceback.format_exc()) log.error(traceback.format_exc())
raise Exception,"oops in customresponse (cfn) error %s" % err raise Exception("oops in customresponse (cfn) error %s" % err)
log.debug("[courseware.capa.responsetypes.customresponse.get_score] ret = %s" % ret) log.debug("[courseware.capa.responsetypes.customresponse.get_score] ret = %s" % ret)
if type(ret)==dict: if type(ret)==dict:
correct = ['correct']*len(idset) if ret['ok'] else ['incorrect']*len(idset) correct = ['correct']*len(idset) if ret['ok'] else ['incorrect']*len(idset)
...@@ -777,19 +776,19 @@ main() ...@@ -777,19 +776,19 @@ main()
except Exception,err: except Exception,err:
msg = 'Error %s - cannot connect to external server url=%s' % (err,self.url) msg = 'Error %s - cannot connect to external server url=%s' % (err,self.url)
log.error(msg) log.error(msg)
raise Exception, msg raise Exception(msg)
if self.system.DEBUG: log.info('response = %s' % r.text) if self.system.DEBUG: log.info('response = %s' % r.text)
if (not r.text ) or (not r.text.strip()): if (not r.text ) or (not r.text.strip()):
raise Exception,'Error: no response from external server url=%s' % self.url raise Exception('Error: no response from external server url=%s' % self.url)
try: try:
rxml = etree.fromstring(r.text) # response is XML; prase it rxml = etree.fromstring(r.text) # response is XML; prase it
except Exception,err: except Exception,err:
msg = 'Error %s - cannot parse response from external server r.text=%s' % (err,r.text) msg = 'Error %s - cannot parse response from external server r.text=%s' % (err,r.text)
log.error(msg) log.error(msg)
raise Exception, msg raise Exception(msg)
return rxml return rxml
...@@ -800,7 +799,7 @@ main() ...@@ -800,7 +799,7 @@ main()
submission = [student_answers[k] for k in idset] submission = [student_answers[k] for k in idset]
except Exception,err: except Exception,err:
log.error('Error %s: cannot get student answer for %s; student_answers=%s' % (err,self.answer_ids,student_answers)) log.error('Error %s: cannot get student answer for %s; student_answers=%s' % (err,self.answer_ids,student_answers))
raise Exception,err raise Exception(err)
self.context.update({'submission':submission}) self.context.update({'submission':submission})
...@@ -847,7 +846,7 @@ main() ...@@ -847,7 +846,7 @@ main()
if not (len(exans)==len(self.answer_ids)): if not (len(exans)==len(self.answer_ids)):
log.error('Expected %d answers from external server, only got %d!' % (len(self.answer_ids),len(exans))) log.error('Expected %d answers from external server, only got %d!' % (len(self.answer_ids),len(exans)))
raise Exception,'Short response from external server' raise Exception('Short response from external server')
return dict(zip(self.answer_ids,exans)) return dict(zip(self.answer_ids,exans))
...@@ -964,7 +963,7 @@ class FormulaResponse(LoncapaResponse): ...@@ -964,7 +963,7 @@ class FormulaResponse(LoncapaResponse):
correct_answer = contextualize_text(hxml.get('answer'),self.context) correct_answer = contextualize_text(hxml.get('answer'),self.context)
try: try:
correctness = self.check_formula(correct_answer, given, samples) correctness = self.check_formula(correct_answer, given, samples)
except Exception,err: except Exception:
correctness = 'incorrect' correctness = 'incorrect'
if correctness=='correct': if correctness=='correct':
hints_to_show.append(name) hints_to_show.append(name)
...@@ -1041,13 +1040,13 @@ class ImageResponse(LoncapaResponse): ...@@ -1041,13 +1040,13 @@ class ImageResponse(LoncapaResponse):
if not m: if not m:
msg = 'Error in problem specification! cannot parse rectangle in %s' % (etree.tostring(self.ielements[aid], msg = 'Error in problem specification! cannot parse rectangle in %s' % (etree.tostring(self.ielements[aid],
pretty_print=True)) pretty_print=True))
raise Exception,'[capamodule.capa.responsetypes.imageinput] '+msg raise Exception('[capamodule.capa.responsetypes.imageinput] '+msg)
(llx,lly,urx,ury) = [int(x) for x in m.groups()] (llx,lly,urx,ury) = [int(x) for x in m.groups()]
# parse given answer # parse given answer
m = re.match('\[([0-9]+),([0-9]+)]',given.strip().replace(' ','')) m = re.match('\[([0-9]+),([0-9]+)]',given.strip().replace(' ',''))
if not m: if not m:
raise Exception,'[capamodule.capa.responsetypes.imageinput] error grading %s (input=%s)' % (aid,given) raise Exception('[capamodule.capa.responsetypes.imageinput] error grading %s (input=%s)' % (aid,given))
(gx,gy) = [int(x) for x in m.groups()] (gx,gy) = [int(x) for x in m.groups()]
# answer is correct if (x,y) is within the specified rectangle # answer is correct if (x,y) is within the specified rectangle
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment