Commit b9dd30cd by Calen Pennington

Don't dump inherited metadata when exporting xml

parent 2f95146b
...@@ -253,6 +253,7 @@ class XModuleDescriptor(Plugin): ...@@ -253,6 +253,7 @@ class XModuleDescriptor(Plugin):
self.shared_state_key = kwargs.get('shared_state_key') self.shared_state_key = kwargs.get('shared_state_key')
self._child_instances = None self._child_instances = None
self._inherited_metadata = set()
def inherit_metadata(self, metadata): def inherit_metadata(self, metadata):
""" """
...@@ -264,6 +265,7 @@ class XModuleDescriptor(Plugin): ...@@ -264,6 +265,7 @@ class XModuleDescriptor(Plugin):
# in self.inheritable_metadata and aren't already set in metadata # in self.inheritable_metadata and aren't already set in metadata
for attr in self.inheritable_metadata: for attr in self.inheritable_metadata:
if attr not in self.metadata and attr in metadata: if attr not in self.metadata and attr in metadata:
self._inherited_metadata.add(attr)
self.metadata[attr] = metadata[attr] self.metadata[attr] = metadata[attr]
def get_children(self): def get_children(self):
......
...@@ -68,10 +68,10 @@ class XmlDescriptor(XModuleDescriptor): ...@@ -68,10 +68,10 @@ class XmlDescriptor(XModuleDescriptor):
xml_object.tag = self.type xml_object.tag = self.type
for attr in ('format', 'graceperiod', 'showanswer', 'rerandomize', 'due'): for attr in ('format', 'graceperiod', 'showanswer', 'rerandomize', 'due'):
if attr in self.metadata: if attr in self.metadata and attr not in self._inherited_metadata:
xml_object.set(attr, self.metadata[attr]) xml_object.set(attr, self.metadata[attr])
if 'graded' in self.metadata: if 'graded' in self.metadata and 'graded' not in self._inherited_metadata:
xml_object.set('graded', str(self.metadata['graded']).lower()) xml_object.set('graded', str(self.metadata['graded']).lower())
if 'display_name' in self.metadata: if 'display_name' in self.metadata:
......
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