Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
ca177570
Commit
ca177570
authored
Aug 07, 2012
by
ichuang
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #356 from MITx/kimth/lms-coderesponse
Kimth/lms coderesponse
parents
4c25baee
cb2fbfa5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
10 deletions
+32
-10
common/lib/capa/capa/util.py
+13
-5
common/lib/xmodule/xmodule/tests/__init__.py
+14
-3
common/lib/xmodule/xmodule/x_module.py
+5
-2
No files found.
common/lib/capa/capa/util.py
View file @
ca177570
...
...
@@ -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
common/lib/xmodule/xmodule/tests/__init__.py
View file @
ca177570
...
...
@@ -15,6 +15,7 @@ import xmodule
import
capa.calc
as
calc
import
capa.capa_problem
as
lcp
from
capa.correctmap
import
CorrectMap
from
capa.util
import
convert_files_to_filenames
from
xmodule
import
graders
,
x_module
from
xmodule.x_module
import
ModuleSystem
from
xmodule.graders
import
Score
,
aggregate_scores
...
...
@@ -31,7 +32,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
)
...
...
@@ -278,7 +279,6 @@ class StringResponseWithHintTest(unittest.TestCase):
class
CodeResponseTest
(
unittest
.
TestCase
):
'''
Test CodeResponse
'''
def
test_update_score
(
self
):
problem_file
=
os
.
path
.
dirname
(
__file__
)
+
"/test_files/coderesponse.xml"
...
...
@@ -327,7 +327,18 @@ class CodeResponseTest(unittest.TestCase):
self
.
assertFalse
(
test_lcp
.
correct_map
.
is_queued
(
answer_ids
[
j
]))
# Should be dequeued, message delivered
else
:
self
.
assertTrue
(
test_lcp
.
correct_map
.
is_queued
(
answer_ids
[
j
]))
# Should be queued, message undelivered
def
test_convert_files_to_filenames
(
self
):
problem_file
=
os
.
path
.
dirname
(
__file__
)
+
"/test_files/coderesponse.xml"
fp
=
open
(
problem_file
)
answers_with_file
=
{
'1_2_1'
:
'String-based answer'
,
'1_3_1'
:
[
'answer1'
,
'answer2'
,
'answer3'
],
'1_4_1'
:
fp
}
answers_converted
=
convert_files_to_filenames
(
answers_with_file
)
self
.
assertEquals
(
answers_converted
[
'1_2_1'
],
'String-based answer'
)
self
.
assertEquals
(
answers_converted
[
'1_3_1'
],
[
'answer1'
,
'answer2'
,
'answer3'
])
self
.
assertEquals
(
answers_converted
[
'1_4_1'
],
fp
.
name
)
class
ChoiceResponseTest
(
unittest
.
TestCase
):
...
...
common/lib/xmodule/xmodule/x_module.py
View file @
ca177570
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment