Merge pull request #1828 from MITx/fix/cdodge/import-nesting-definition-data
import was putting the xml data into definition.data.data rather than de...
This commit is contained in:
@@ -284,7 +284,7 @@ def import_from_xml(store, data_dir, course_dirs=None,
|
||||
except KeyError:
|
||||
# Ignore any missing keys in _model_data
|
||||
pass
|
||||
|
||||
|
||||
if 'data' in content:
|
||||
module_data = content['data']
|
||||
|
||||
@@ -301,16 +301,18 @@ def import_from_xml(store, data_dir, course_dirs=None,
|
||||
# Note the dropped element closing tag. This causes the LMS to fail when rendering modules - that's
|
||||
# no good, so we have to do this kludge
|
||||
if isinstance(module_data, str) or isinstance(module_data, unicode): # some module 'data' fields are non strings which blows up the link traversal code
|
||||
lxml_rewrite_links(module_data, lambda link: verify_content_links(module, course_data_path,
|
||||
static_content_store, link, remap_dict))
|
||||
lxml_rewrite_links(module_data,
|
||||
lambda link: verify_content_links(module, course_data_path, static_content_store, link, remap_dict))
|
||||
|
||||
for key in remap_dict.keys():
|
||||
module_data = module_data.replace(key, remap_dict[key])
|
||||
|
||||
except Exception, e:
|
||||
except Exception:
|
||||
logging.exception("failed to rewrite links on {0}. Continuing...".format(module.location))
|
||||
else:
|
||||
module_data = content
|
||||
|
||||
store.update_item(module.location, content)
|
||||
store.update_item(module.location, module_data)
|
||||
|
||||
if hasattr(module, 'children') and module.children != []:
|
||||
store.update_children(module.location, module.children)
|
||||
|
||||
@@ -24,6 +24,11 @@ def strip_filenames(descriptor):
|
||||
"""
|
||||
print "strip filename from {desc}".format(desc=descriptor.location.url())
|
||||
descriptor._model_data.pop('filename', None)
|
||||
|
||||
if hasattr(descriptor, 'xml_attributes'):
|
||||
if 'filename' in descriptor.xml_attributes:
|
||||
del descriptor.xml_attributes['filename']
|
||||
|
||||
for d in descriptor.get_children():
|
||||
strip_filenames(d)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user