Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions common/djangoapps/static_replace/test/test_static_replace.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,20 @@ def test_raw_static_check():
assert_equals(path, replace_static_urls(path, text))


@patch('static_replace.staticfiles_storage')
@patch('static_replace.modulestore')
def test_static_url_with_query(mock_modulestore, mock_storage):
"""
Make sure urls with query have the parameter section unaltered
"""
mock_storage.exists.return_value = False
mock_modulestore.return_value = Mock(MongoModuleStore)

pre_text = 'EMBED src ="/static/LAlec04_controller.swf?csConfigFile=/c4x/org/course/asset/LAlec04_config.xml"'
post_text = 'EMBED src ="/c4x/org/course/asset/LAlec04_controller.swf?csConfigFile=/c4x/org/course/asset/LAlec04_config.xml"'
assert_equals(post_text, replace_static_urls(pre_text, DATA_DIRECTORY, COURSE_ID))


def test_regex():
yes = ('"/static/foo.png"',
'"/static/foo.png"',
Expand Down
11 changes: 9 additions & 2 deletions common/lib/xmodule/xmodule/contentstore/content.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import os
import logging
import StringIO
from urlparse import urlparse, urlunparse

from xmodule.modulestore import Location
from .django import contentstore
Expand Down Expand Up @@ -125,8 +126,14 @@ def convert_legacy_static_url_with_course_id(path, course_id):
a course_id
"""
org, course_num, __ = course_id.split("/")
loc = StaticContent.compute_location(org, course_num, path)
return StaticContent.get_url_path_from_location(loc)

# Generate url of urlparse.path component
scheme, netloc, orig_path, params, query, fragment = urlparse(path)
loc = StaticContent.compute_location(org, course_num, orig_path)
loc_url = StaticContent.get_url_path_from_location(loc)

# Reconstruct with new path
return urlunparse((scheme, netloc, loc_url, params, query, fragment))

def stream_data(self):
yield self._data
Expand Down