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
db0cd781
Commit
db0cd781
authored
May 22, 2014
by
Diana Huang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove some outdated code.
parent
a69e42dd
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
0 additions
and
302 deletions
+0
-302
common/lib/sample-post.py
+0
-71
lms/djangoapps/courseware/management/commands/check_course.py
+0
-104
lms/djangoapps/multicourse/__init__.py
+0
-0
lms/djangoapps/multicourse/multicourse_settings.py
+0
-113
lms/djangoapps/multicourse/views.py
+0
-14
No files found.
common/lib/sample-post.py
deleted
100644 → 0
View file @
a69e42dd
# A simple script demonstrating how to have an external program post problem
# responses to an edx server.
#
# ***** NOTE *****
# This is not intended as a stable public API. In fact, it is almost certainly
# going to change. If you use this for some reason, be prepared to change your
# code.
#
# We will be working to define a stable public API for external programs. We
# don't have have one yet (Feb 2013).
import
requests
import
sys
import
getpass
def
prompt
(
msg
,
default
=
None
,
safe
=
False
):
d
=
' [{0}]'
.
format
(
default
)
if
default
is
not
None
else
''
prompt
=
'Enter {msg}{default}: '
.
format
(
msg
=
msg
,
default
=
d
)
if
not
safe
:
print
prompt
x
=
sys
.
stdin
.
readline
()
.
strip
()
else
:
x
=
getpass
.
getpass
(
prompt
=
prompt
)
if
x
==
''
and
default
is
not
None
:
return
default
return
x
server
=
'https://www.edx.org'
course_id
=
'HarvardX/PH207x/2012_Fall'
location
=
'i4x://HarvardX/PH207x/problem/ex_practice_2'
#server = prompt('Server (no trailing slash)', 'http://127.0.0.1:8000')
#course_id = prompt('Course id', 'MITx/7012x/2013_Spring')
#location = prompt('problem location', 'i4x://MITx/7012x/problem/example_upload_answer')
value
=
prompt
(
'value to upload'
)
username
=
prompt
(
'username on server'
,
'victor@edx.org'
)
password
=
prompt
(
'password'
,
'abc123'
,
safe
=
True
)
print
"get csrf cookie"
session
=
requests
.
Session
()
r
=
session
.
get
(
server
+
'/'
)
r
.
raise_for_status
()
# print session.cookies
# for some reason, the server expects a header containing the csrf cookie, not just the
# cookie itself.
session
.
headers
[
'X-CSRFToken'
]
=
session
.
cookies
[
'csrftoken'
]
# for https, need a referer header
session
.
headers
[
'Referer'
]
=
server
+
'/'
login_url
=
'/'
.
join
([
server
,
'login'
])
print
"log in"
r
=
session
.
post
(
login_url
,
{
'email'
:
'victor@edx.org'
,
'password'
:
'Secret!'
,
'remember'
:
'false'
})
#print "request headers: ", r.request.headers
#print "response headers: ", r.headers
r
.
raise_for_status
()
url
=
'/'
.
join
([
server
,
'courses'
,
course_id
,
'modx'
,
location
,
'problem_check'
])
data
=
{
'input_{0}_2_1'
.
format
(
location
.
replace
(
'/'
,
'-'
)
.
replace
(
':'
,
''
)
.
replace
(
'--'
,
'-'
)):
value
}
#data = {'input_i4x-MITx-7012x-problem-example_upload_answer_2_1': value}
print
"Posting to '{0}': {1}"
.
format
(
url
,
data
)
r
=
session
.
post
(
url
,
data
)
r
.
raise_for_status
()
print
(
"To see the uploaded answer, go to {server}/courses/{course_id}/jump_to/{location}"
.
format
(
server
=
server
,
course_id
=
course_id
,
location
=
location
))
lms/djangoapps/courseware/management/commands/check_course.py
deleted
100644 → 0
View file @
a69e42dd
import
os.path
# THIS COMMAND IS OUT OF DATE
from
lxml
import
etree
from
django.core.management.base
import
BaseCommand
from
django.conf
import
settings
from
django.contrib.auth.models
import
User
import
xmodule
from
xmodule.modulestore.django
import
modulestore
from
courseware.model_data
import
FieldDataCache
from
courseware.module_render
import
get_module
def
check_rendering
(
module
):
'''Check that all modules render'''
all_ok
=
True
print
"Confirming all modules render. Nothing should print during this step. "
def
_check_module
(
module
):
try
:
module
.
get_html
()
except
Exception
as
ex
:
print
"==============> Error in "
,
module
.
id
print
""
print
ex
all_ok
=
False
for
child
in
module
.
get_children
():
_check_module
(
child
)
_check_module
(
module
)
print
"Module render check finished"
return
all_ok
def
check_sections
(
course
):
all_ok
=
True
sections_dir
=
settings
.
DATA_DIR
+
"/sections"
print
"Checking that all sections exist and parse properly"
if
os
.
path
.
exists
(
sections_dir
):
print
"Checking all section includes are valid XML"
for
f
in
os
.
listdir
(
sections_dir
):
sectionfile
=
sections_dir
+
'/'
+
f
#print sectionfile
# skip non-xml files:
if
not
sectionfile
.
endswith
(
'xml'
):
continue
try
:
etree
.
parse
(
sectionfile
)
except
Exception
as
ex
:
print
"================> Error parsing "
,
sectionfile
print
ex
all_ok
=
False
print
"checked all sections"
else
:
print
"Skipping check of include files -- no section includes dir ("
+
sections_dir
+
")"
return
all_ok
class
Command
(
BaseCommand
):
help
=
"Does basic validity tests on course.xml."
def
handle
(
self
,
*
args
,
**
options
):
all_ok
=
True
# TODO (vshnayder): create dummy user objects. Anon, authenticated, staff.
# Check that everything works for each.
# The objects probably shouldn't be actual django users to avoid unneeded
# dependency on django.
# TODO: use args as list of files to check. Fix loading to work for other files.
print
"This command needs updating before use"
return
"""
sample_user = User.objects.all()[0]
print "Attempting to load courseware"
# TODO (cpennington): Get coursename in a legitimate way
course_location = 'i4x://edx/6002xs12/course/6.002_Spring_2012'
student_module_cache = FieldDataCache.cache_for_descriptor_descendents(
course_id,
sample_user, modulestore().get_item(course_location))
course = get_module(sample_user, None, course_location, student_module_cache)
to_run = [
#TODO (vshnayder) : make check_rendering work (use module_render.py),
# turn it on
check_rendering,
check_sections,
]
for check in to_run:
all_ok = check(course) and all_ok
# TODO: print "Checking course properly annotated with preprocess.py"
if all_ok:
print 'Courseware passes all checks!'
else:
print "Courseware fails some checks"
"""
lms/djangoapps/multicourse/__init__.py
deleted
100644 → 0
View file @
a69e42dd
lms/djangoapps/multicourse/multicourse_settings.py
deleted
100644 → 0
View file @
a69e42dd
# multicourse/multicourse_settings.py
#
# central module for providing fixed settings (course name, number, title)
# for multiple courses. Loads this information from django.conf.settings
#
# Allows backward compatibility with settings configurations without
# multiple courses specified.
#
# The central piece of configuration data is the dict COURSE_SETTINGS, with
# keys being the COURSE_NAME (spaces ok), and the value being a dict of
# parameter,value pairs. The required parameters are:
#
# - number : course number (used in the wiki pages)
# - title : humanized descriptive course title
#
# Optional parameters:
#
# - xmlpath : path (relative to data directory) for this course (defaults to "")
#
# If COURSE_SETTINGS does not exist, then fallback to 6.002_Spring_2012 default,
# for now.
from
django.conf
import
settings
#-----------------------------------------------------------------------------
# load course settings
if
hasattr
(
settings
,
'COURSE_SETTINGS'
):
# in the future, this could be replaced by reading an XML file
COURSE_SETTINGS
=
settings
.
COURSE_SETTINGS
elif
hasattr
(
settings
,
'COURSE_NAME'
):
# backward compatibility
COURSE_SETTINGS
=
{
settings
.
COURSE_NAME
:
{
'number'
:
settings
.
COURSE_NUMBER
,
'title'
:
settings
.
COURSE_TITLE
,
'location'
:
settings
.
COURSE_LOCATION
,
},
}
else
:
# default to 6.002_Spring_2012
COURSE_SETTINGS
=
{
'6.002_Spring_2012'
:
{
'number'
:
'6.002x'
,
'title'
:
'Circuits and Electronics'
,
'location'
:
'i4x://edx/6002xs12/course/6.002 Spring 2012'
,
},
}
#-----------------------------------------------------------------------------
# wrapper functions around course settings
def
get_coursename_from_request
(
request
):
if
'coursename'
in
request
.
session
:
coursename
=
request
.
session
[
'coursename'
]
settings
.
COURSE_TITLE
=
get_course_title
(
coursename
)
# overwrite settings.COURSE_TITLE based on this
else
:
coursename
=
None
return
coursename
def
get_course_settings
(
coursename
):
if
not
coursename
:
if
hasattr
(
settings
,
'COURSE_DEFAULT'
):
coursename
=
settings
.
COURSE_DEFAULT
else
:
coursename
=
'6.002_Spring_2012'
if
coursename
in
COURSE_SETTINGS
:
return
COURSE_SETTINGS
[
coursename
]
coursename
=
coursename
.
replace
(
' '
,
'_'
)
if
coursename
in
COURSE_SETTINGS
:
return
COURSE_SETTINGS
[
coursename
]
return
None
def
is_valid_course
(
coursename
):
return
get_course_settings
(
coursename
)
is
not
None
def
get_course_property
(
coursename
,
property
):
cs
=
get_course_settings
(
coursename
)
# raise exception instead?
if
not
cs
:
return
''
if
property
in
cs
:
return
cs
[
property
]
# default
return
''
def
get_course_xmlpath
(
coursename
):
return
get_course_property
(
coursename
,
'xmlpath'
)
def
get_course_title
(
coursename
):
return
get_course_property
(
coursename
,
'title'
)
def
get_course_number
(
coursename
):
return
get_course_property
(
coursename
,
'number'
)
def
get_course_github_url
(
coursename
):
return
get_course_property
(
coursename
,
'github_url'
)
def
get_course_default_chapter
(
coursename
):
return
get_course_property
(
coursename
,
'default_chapter'
)
def
get_course_default_section
(
coursename
):
return
get_course_property
(
coursename
,
'default_section'
)
def
get_course_location
(
coursename
):
return
get_course_property
(
coursename
,
'location'
)
lms/djangoapps/multicourse/views.py
deleted
100644 → 0
View file @
a69e42dd
from
django.conf
import
settings
from
edxmako.shortcuts
import
render_to_response
from
multicourse
import
multicourse_settings
def
edxhome
(
request
):
''' Home page (link from main header). List of courses. '''
if
settings
.
DEBUG
:
print
"[djangoapps.multicourse.edxhome] EDX_ROOT_URL = "
+
settings
.
EDX_ROOT_URL
if
settings
.
ENABLE_MULTICOURSE
:
context
=
{
'courseinfo'
:
multicourse_settings
.
COURSE_SETTINGS
}
return
render_to_response
(
"edXhome.html"
,
context
)
return
info
(
request
)
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