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
88e48531
Commit
88e48531
authored
Aug 28, 2012
by
David Ormsbee
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #571 from MITx/feature/arjun/contextualize_js_params
Contextualizing javascript parameters
parents
6255fe5a
f7ebc4dd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
18 deletions
+23
-18
common/lib/capa/capa/responsetypes.py
+20
-18
common/lib/xmodule/xmodule/js/src/capa/display.coffee
+3
-0
No files found.
common/lib/capa/capa/responsetypes.py
View file @
88e48531
...
...
@@ -385,19 +385,23 @@ class JavascriptResponse(LoncapaResponse):
node_path
=
self
.
system
.
node_path
+
":"
+
os
.
path
.
normpath
(
js_dir
)
tmp_env
[
"NODE_PATH"
]
=
node_path
return
tmp_env
def
call_node
(
self
,
args
):
subprocess_args
=
[
"node"
]
subprocess_args
.
extend
(
args
)
return
subprocess
.
check_output
(
subprocess_args
,
env
=
self
.
get_node_env
())
def
generate_problem_state
(
self
):
generator_file
=
os
.
path
.
dirname
(
os
.
path
.
normpath
(
__file__
))
+
'/javascript_problem_generator.js'
output
=
subprocess
.
check_output
([
"node"
,
generator_file
,
self
.
generator
,
json
.
dumps
(
self
.
generator_dependencies
),
json
.
dumps
(
str
(
self
.
system
.
seed
)),
json
.
dumps
(
self
.
params
)
],
env
=
self
.
get_node_env
())
.
strip
()
output
=
self
.
call_node
([
generator_file
,
self
.
generator
,
json
.
dumps
(
self
.
generator_dependencies
),
json
.
dumps
(
str
(
self
.
system
.
seed
)),
json
.
dumps
(
self
.
params
)])
.
strip
()
return
json
.
loads
(
output
)
...
...
@@ -408,7 +412,8 @@ class JavascriptResponse(LoncapaResponse):
for
param
in
self
.
xml
.
xpath
(
'//*[@id=$id]//responseparam'
,
id
=
self
.
xml
.
get
(
'id'
)):
params
[
param
.
get
(
"name"
)]
=
json
.
loads
(
param
.
get
(
"value"
))
raw_param
=
param
.
get
(
"value"
)
params
[
param
.
get
(
"name"
)]
=
json
.
loads
(
contextualize_text
(
raw_param
,
self
.
context
))
return
params
...
...
@@ -447,15 +452,12 @@ class JavascriptResponse(LoncapaResponse):
submission
=
json
.
dumps
(
None
)
grader_file
=
os
.
path
.
dirname
(
os
.
path
.
normpath
(
__file__
))
+
'/javascript_problem_grader.js'
outputs
=
subprocess
.
check_output
([
"node"
,
grader_file
,
self
.
grader
,
json
.
dumps
(
self
.
grader_dependencies
),
submission
,
json
.
dumps
(
self
.
problem_state
),
json
.
dumps
(
self
.
params
)
],
env
=
self
.
get_node_env
())
.
split
(
'
\n
'
)
outputs
=
self
.
call_node
([
grader_file
,
self
.
grader
,
json
.
dumps
(
self
.
grader_dependencies
),
submission
,
json
.
dumps
(
self
.
problem_state
),
json
.
dumps
(
self
.
params
)])
.
split
(
'
\n
'
)
all_correct
=
json
.
loads
(
outputs
[
0
]
.
strip
())
evaluation
=
outputs
[
1
]
.
strip
()
...
...
common/lib/xmodule/xmodule/js/src/capa/display.coffee
View file @
88e48531
...
...
@@ -293,6 +293,9 @@ class @Problem
problemState
=
data
.
data
(
"problem_state"
)
displayClass
=
window
[
data
.
data
(
'display_class'
)]
if
evaluation
==
''
evaluation
=
null
container
=
$
(
element
).
find
(
".javascriptinput_container"
)
submissionField
=
$
(
element
).
find
(
".javascriptinput_input"
)
...
...
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