From 5729d013f4a2ebea22a75fb6eddb986933cf4b53 Mon Sep 17 00:00:00 2001 From: ichuang Date: Mon, 28 May 2012 11:02:33 -0400 Subject: [PATCH] in DEBUG mode, fail gracefully if a problem file is missing (capa_module) --- djangoapps/courseware/modules/capa_module.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/djangoapps/courseware/modules/capa_module.py b/djangoapps/courseware/modules/capa_module.py index 7d42cfb250..78fdcd6a19 100644 --- a/djangoapps/courseware/modules/capa_module.py +++ b/djangoapps/courseware/modules/capa_module.py @@ -16,6 +16,7 @@ import traceback from lxml import etree ## TODO: Abstract out from Django +from django.conf import settings from mitxmako.shortcuts import render_to_string from x_module import XModule @@ -201,7 +202,11 @@ class Module(XModule): fp = self.filestore.open(self.filename) except Exception,err: print '[courseware.capa.capa_module.Module.init] error %s: cannot open file %s' % (err,self.filename) - raise Exception,err + if settings.DEBUG: + # create a dummy problem instead of failing + fp = StringIO.StringIO('Problem file %s is missing' % self.filename) + else: + raise Exception,err self.lcp=LoncapaProblem(fp, self.item_id, state, seed = seed, system=self.system) def handle_ajax(self, dispatch, get):