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
4d1c046a
Commit
4d1c046a
authored
Jul 23, 2012
by
Calen Pennington
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #277 from MITx/cpennington/pipelining-course-data
Use django-pipeline to read course static files.
parents
c6f0c57b
b8b133d3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
19 deletions
+13
-19
common/djangoapps/pipeline_mako/templates/static_content.html
+0
-3
lms/djangoapps/courseware/courses.py
+13
-16
No files found.
common/djangoapps/pipeline_mako/templates/static_content.html
View file @
4d1c046a
<
%!
from
staticfiles
.
storage
import
staticfiles_storage
from
pipeline_mako
import
compressed_css
,
compressed_js
from
static_replace
import
replace_urls
%
>
<
%
def
name=
'url(file)'
>
${staticfiles_storage.url(file)}
</
%
def>
...
...
@@ -24,5 +23,3 @@ from static_replace import replace_urls
% endfor
%endif
</
%
def>
<
%
def
name=
'replace_urls(text)'
>
${replace_urls(text)}
</
%
def>
lms/djangoapps/courseware/courses.py
View file @
4d1c046a
...
...
@@ -9,18 +9,21 @@ from django.http import Http404
from
xmodule.course_module
import
CourseDescriptor
from
xmodule.modulestore.django
import
modulestore
from
xmodule.modulestore.exceptions
import
ItemNotFoundError
from
static_replace
import
replace_urls
from
staticfiles.storage
import
staticfiles_storage
log
=
logging
.
getLogger
(
__name__
)
def
check_course
(
course_id
,
course_must_be_open
=
True
,
course_required
=
True
):
"""
Given a course_id, this returns the course object. By default,
if the course is not found or the course is not open yet, this
method will raise a 404.
If course_must_be_open is False, the course will be returned
without a 404 even if it is not open.
If course_required is False, a course_id of None is acceptable. The
course returned will be None. Even if the course is not required,
if a course_id is given that does not exist a 404 will be raised.
...
...
@@ -32,22 +35,17 @@ def check_course(course_id, course_must_be_open=True, course_required=True):
course
=
modulestore
()
.
get_item
(
course_loc
)
except
(
KeyError
,
ItemNotFoundError
):
raise
Http404
(
"Course not found."
)
if
course_must_be_open
and
not
course
.
has_started
():
raise
Http404
(
"This course has not yet started."
)
return
course
return
course
### These methods look like they should be on the course_module object itself, but they rely
### on the lms. Maybe they should be added dynamically to the class?
def
course_static_url
(
course
):
return
settings
.
STATIC_URL
+
"/"
+
course
.
metadata
[
'data_dir'
]
+
"/"
def
course_image_url
(
course
):
return
course_static_url
(
course
)
+
"images/course_image.jpg"
return
staticfiles_storage
.
url
(
course
.
metadata
[
'data_dir'
]
+
"/images/course_image.jpg"
)
def
get_course_about_section
(
course
,
section_key
):
"""
This returns the snippet of html to be rendered on the course about page, given the key for the section.
...
...
@@ -78,7 +76,7 @@ def get_course_about_section(course, section_key):
'effort'
,
'end_date'
,
'prerequisites'
]:
try
:
with
course
.
system
.
resources_fs
.
open
(
path
(
"about"
)
/
section_key
+
".html"
)
as
htmlFile
:
return
htmlFile
.
read
()
.
decode
(
'utf-8'
)
.
format
(
COURSE_STATIC_URL
=
course_static_url
(
course
)
)
return
replace_urls
(
htmlFile
.
read
()
.
decode
(
'utf-8'
),
course
.
metadata
[
'data_dir'
]
)
except
ResourceNotFoundError
:
log
.
warning
(
"Missing about section {key} in course {url}"
.
format
(
key
=
section_key
,
url
=
course
.
location
.
url
()))
return
None
...
...
@@ -107,11 +105,11 @@ def get_course_info_section(course, section_key):
if
section_key
in
[
'handouts'
,
'guest_handouts'
,
'updates'
,
'guest_updates'
]:
try
:
with
course
.
system
.
resources_fs
.
open
(
path
(
"info"
)
/
section_key
+
".html"
)
as
htmlFile
:
return
htmlFile
.
read
()
.
decode
(
'utf-8'
)
return
replace_urls
(
htmlFile
.
read
()
.
decode
(
'utf-8'
),
course
.
metadata
[
'data_dir'
]
)
except
ResourceNotFoundError
:
log
.
exception
(
"Missing info section {key} in course {url}"
.
format
(
key
=
section_key
,
url
=
course
.
location
.
url
()))
return
"! Info section missing !"
raise
KeyError
(
"Invalid about key "
+
str
(
section_key
))
\ No newline at end of file
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