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
34911f68
Commit
34911f68
authored
May 29, 2013
by
Ned Batchelder
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pass safe_exec a slug, the problem or response id; Use the latest CodeJail, with slug support.
parent
1d5f32d0
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
7 deletions
+11
-7
common/lib/capa/capa/capa_problem.py
+1
-0
common/lib/capa/capa/responsetypes.py
+4
-4
common/lib/capa/capa/safe_exec/safe_exec.py
+5
-2
requirements/edx/github.txt
+1
-1
No files found.
common/lib/capa/capa/capa_problem.py
View file @
34911f68
...
...
@@ -469,6 +469,7 @@ class LoncapaProblem(object):
random_seed
=
self
.
seed
,
python_path
=
python_path
,
cache
=
self
.
system
.
cache
,
slug
=
self
.
problem_id
,
)
except
Exception
as
err
:
log
.
exception
(
"Error while execing script code: "
+
all_code
)
...
...
common/lib/capa/capa/responsetypes.py
View file @
34911f68
...
...
@@ -288,7 +288,7 @@ class LoncapaResponse(object):
}
try
:
safe_exec
.
safe_exec
(
code
,
globals_dict
,
python_path
=
self
.
context
[
'python_path'
])
safe_exec
.
safe_exec
(
code
,
globals_dict
,
python_path
=
self
.
context
[
'python_path'
]
,
slug
=
self
.
id
)
except
Exception
as
err
:
msg
=
'Error
%
s in evaluating hint function
%
s'
%
(
err
,
hintfn
)
msg
+=
"
\n
See XML source line
%
s"
%
getattr
(
...
...
@@ -973,7 +973,7 @@ class CustomResponse(LoncapaResponse):
'ans'
:
ans
,
}
globals_dict
.
update
(
kwargs
)
safe_exec
.
safe_exec
(
code
,
globals_dict
,
python_path
=
self
.
context
[
'python_path'
])
safe_exec
.
safe_exec
(
code
,
globals_dict
,
python_path
=
self
.
context
[
'python_path'
]
,
slug
=
self
.
id
)
return
globals_dict
[
'cfn_return'
]
return
check_function
...
...
@@ -1090,7 +1090,7 @@ class CustomResponse(LoncapaResponse):
# exec the check function
if
isinstance
(
self
.
code
,
basestring
):
try
:
safe_exec
.
safe_exec
(
self
.
code
,
self
.
context
,
cache
=
self
.
system
.
cache
)
safe_exec
.
safe_exec
(
self
.
code
,
self
.
context
,
cache
=
self
.
system
.
cache
,
slug
=
self
.
id
)
except
Exception
as
err
:
self
.
_handle_exec_exception
(
err
)
...
...
@@ -1814,7 +1814,7 @@ class SchematicResponse(LoncapaResponse):
]
self
.
context
.
update
({
'submission'
:
submission
})
try
:
safe_exec
.
safe_exec
(
self
.
code
,
self
.
context
,
cache
=
self
.
system
.
cache
)
safe_exec
.
safe_exec
(
self
.
code
,
self
.
context
,
cache
=
self
.
system
.
cache
,
slug
=
self
.
id
)
except
Exception
as
err
:
msg
=
'Error
%
s in evaluating SchematicResponse'
%
err
raise
ResponseError
(
msg
)
...
...
common/lib/capa/capa/safe_exec/safe_exec.py
View file @
34911f68
...
...
@@ -71,7 +71,7 @@ def update_hash(hasher, obj):
@statsd.timed
(
'capa.safe_exec.time'
)
def
safe_exec
(
code
,
globals_dict
,
random_seed
=
None
,
python_path
=
None
,
cache
=
None
):
def
safe_exec
(
code
,
globals_dict
,
random_seed
=
None
,
python_path
=
None
,
cache
=
None
,
slug
=
None
):
"""
Execute python code safely.
...
...
@@ -87,6 +87,9 @@ def safe_exec(code, globals_dict, random_seed=None, python_path=None, cache=None
to cache the execution, taking into account the code, the values of the globals,
and the random seed.
`slug` is an arbitrary string, a description that's meaningful to the
caller, that will be used in log messages.
"""
# Check the cache for a previous result.
if
cache
:
...
...
@@ -112,7 +115,7 @@ def safe_exec(code, globals_dict, random_seed=None, python_path=None, cache=None
try
:
codejail_safe_exec
(
code_prolog
+
LAZY_IMPORTS
+
code
,
globals_dict
,
python_path
=
python_path
,
python_path
=
python_path
,
slug
=
slug
,
)
except
SafeExecException
as
e
:
emsg
=
e
.
message
...
...
requirements/edx/github.txt
View file @
34911f68
...
...
@@ -9,4 +9,4 @@
# Our libraries:
-e git+https://github.com/edx/XBlock.git@2144a25d#egg=XBlock
-e git+https://github.com/edx/codejail.git@
874361f
#egg=codejail
-e git+https://github.com/edx/codejail.git@
cf83d6a
#egg=codejail
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