diff --git a/common/lib/keystore/xml.py b/common/lib/keystore/xml.py index 0672e4a7ff34ed47c00836fdc717b2d6fdce47cc..b078474a007e06f4690dea81e88f2ba50c6076c5 100644 --- a/common/lib/keystore/xml.py +++ b/common/lib/keystore/xml.py @@ -40,11 +40,12 @@ class XMLModuleStore(ModuleStore): except: log.exception("Unable to parse xml: {xml}".format(xml=xml)) raise - if xml_data.get('name'): - xml_data.set('slug', Location.clean(xml_data.get('name'))) - else: - self.unnamed_modules += 1 - xml_data.set('slug', '{tag}_{count}'.format(tag=xml_data.tag, count=self.unnamed_modules)) + if xml_data.get('slug') is None: + if xml_data.get('name'): + xml_data.set('slug', Location.clean(xml_data.get('name'))) + else: + self.unnamed_modules += 1 + xml_data.set('slug', '{tag}_{count}'.format(tag=xml_data.tag, count=self.unnamed_modules)) module = XModuleDescriptor.load_from_xml(etree.tostring(xml_data), self, org, course, modulestore.default_class) modulestore.modules[module.location] = module