Commit 37f99dd9 by Vasyl Nakvasiuk

validate location url

parent 9e18dd86
...@@ -9,6 +9,7 @@ from xmodule.x_module import XModule ...@@ -9,6 +9,7 @@ from xmodule.x_module import XModule
from xmodule.modulestore import Location from xmodule.modulestore import Location
from xmodule.seq_module import SequenceDescriptor from xmodule.seq_module import SequenceDescriptor
from xblock.core import String, Scope from xblock.core import String, Scope
from xmodule.modulestore.exceptions import ItemNotFoundError
log = logging.getLogger('mitx.' + __name__) log = logging.getLogger('mitx.' + __name__)
...@@ -161,12 +162,15 @@ class ConditionalDescriptor(SequenceDescriptor): ...@@ -161,12 +162,15 @@ class ConditionalDescriptor(SequenceDescriptor):
urls = [] urls = []
sources = child.get('sources') sources = child.get('sources')
if sources: if sources:
for url in [url.strip() for url in sources.split(';')]: locations = [location.strip() for location in sources.split(';')]
for location in locations:
# Check valid location url. # Check valid location url.
if Location.is_valid(url): if Location.is_valid(location):
urls.append(url) try:
else: system.load_item(location)
log.exception("Bad location url - {0}".format(url)) urls.append(location)
except ItemNotFoundError:
pass
return urls return urls
children = [] children = []
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment