Fix overrzealous file_to_filename conversion and fix CapaProblem unit tests
This commit is contained in:
@@ -39,10 +39,18 @@ def convert_files_to_filenames(answers):
|
||||
'''
|
||||
new_answers = dict()
|
||||
for answer_id in answers.keys():
|
||||
# TODO This should be done more cleanly; however, this fixes bugs
|
||||
# that were introduced with this function.
|
||||
if isinstance(answers[answer_id], list):
|
||||
new_answers[answer_id] = answers[answer_id]
|
||||
if is_uploaded_file(answers[answer_id]):
|
||||
new_answers[answer_id] = answers[answer_id].name
|
||||
else:
|
||||
new_answers[answer_id] = unicode(answers[answer_id])
|
||||
new_answers[answer_id] = answers[answer_id]
|
||||
return new_answers
|
||||
|
||||
def is_uploaded_file(file_to_test):
|
||||
'''
|
||||
Duck typing to check if 'file_to_test' is a File object
|
||||
'''
|
||||
is_file = True
|
||||
for method in ['read', 'name']:
|
||||
if not hasattr(file_to_test, method):
|
||||
is_file = False
|
||||
return is_file
|
||||
|
||||
@@ -31,7 +31,7 @@ i4xs = ModuleSystem(
|
||||
user=Mock(),
|
||||
filestore=fs.osfs.OSFS(os.path.dirname(os.path.realpath(__file__))),
|
||||
debug=True,
|
||||
xqueue=None, # TODO FIXME
|
||||
xqueue=None,
|
||||
is_staff=False
|
||||
)
|
||||
|
||||
|
||||
@@ -643,7 +643,7 @@ class ModuleSystem(object):
|
||||
user=None,
|
||||
filestore=None,
|
||||
debug=False,
|
||||
xqueue = None,
|
||||
xqueue=None,
|
||||
is_staff=False):
|
||||
'''
|
||||
Create a closure around the system environment.
|
||||
@@ -678,7 +678,10 @@ class ModuleSystem(object):
|
||||
TODO (vshnayder): this will need to change once we have real user roles.
|
||||
'''
|
||||
self.ajax_url = ajax_url
|
||||
self.xqueue = xqueue
|
||||
if xqueue is None:
|
||||
self.xqueue = {'interface':None, 'callback_url':'/', 'default_queuename':'null'}
|
||||
else:
|
||||
self.xqueue = xqueue
|
||||
self.track_function = track_function
|
||||
self.filestore = filestore
|
||||
self.get_module = get_module
|
||||
|
||||
Reference in New Issue
Block a user