Commit c8deb48f by Calen Pennington

Make XML import pass in an empty render_template function

parent 70bfc703
...@@ -4,6 +4,7 @@ from importlib import import_module ...@@ -4,6 +4,7 @@ from importlib import import_module
from lxml import etree from lxml import etree
from path import path from path import path
from xmodule.x_module import XModuleDescriptor, XMLParsingSystem from xmodule.x_module import XModuleDescriptor, XMLParsingSystem
from xmodule.mako_module import MakoDescriptorSystem
from . import ModuleStore, Location from . import ModuleStore, Location
from .exceptions import ItemNotFoundError from .exceptions import ItemNotFoundError
...@@ -38,7 +39,7 @@ class XMLModuleStore(ModuleStore): ...@@ -38,7 +39,7 @@ class XMLModuleStore(ModuleStore):
self.default_class = class_ self.default_class = class_
with open(self.data_dir / "course.xml") as course_file: with open(self.data_dir / "course.xml") as course_file:
class ImportSystem(XMLParsingSystem): class ImportSystem(XMLParsingSystem, MakoDescriptorSystem):
def __init__(self, modulestore): def __init__(self, modulestore):
""" """
modulestore: the XMLModuleStore to store the loaded modules in modulestore: the XMLModuleStore to store the loaded modules in
...@@ -73,7 +74,14 @@ class XMLModuleStore(ModuleStore): ...@@ -73,7 +74,14 @@ class XMLModuleStore(ModuleStore):
module.get_children() module.get_children()
return module return module
XMLParsingSystem.__init__(self, modulestore.get_item, OSFS(data_dir), process_xml) system_kwargs = dict(
render_template=lambda: '',
load_item=modulestore.get_item,
resources_fs=OSFS(data_dir),
process_xml=process_xml
)
MakoDescriptorSystem.__init__(self, **system_kwargs)
XMLParsingSystem.__init__(self, **system_kwargs)
self.course = ImportSystem(self).process_xml(course_file.read()) self.course = ImportSystem(self).process_xml(course_file.read())
......
...@@ -422,7 +422,7 @@ class XModuleDescriptor(Plugin): ...@@ -422,7 +422,7 @@ class XModuleDescriptor(Plugin):
class DescriptorSystem(object): class DescriptorSystem(object):
def __init__(self, load_item, resources_fs): def __init__(self, load_item, resources_fs, **kwargs):
""" """
load_item: Takes a Location and returns an XModuleDescriptor load_item: Takes a Location and returns an XModuleDescriptor
resources_fs: A Filesystem object that contains all of the resources_fs: A Filesystem object that contains all of the
...@@ -434,7 +434,7 @@ class DescriptorSystem(object): ...@@ -434,7 +434,7 @@ class DescriptorSystem(object):
class XMLParsingSystem(DescriptorSystem): class XMLParsingSystem(DescriptorSystem):
def __init__(self, load_item, resources_fs, process_xml): def __init__(self, load_item, resources_fs, process_xml, **kwargs):
""" """
process_xml: Takes an xml string, and returns the the XModuleDescriptor created from that xml process_xml: Takes an xml string, and returns the the XModuleDescriptor created from that xml
""" """
......
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