openedx-unsupported/demo-test-course

InvalidTabsException on import, leads to AttributeError: 'NoneType' object has no attribute 'data_dir'

Opened this issue · 1 comments

When attempting to import this course into a fresh devstack (pulled 4/16), I get an InvalidTabsException which leads to the error AttributeError: 'NoneType' object has no attribute 'data_dir' being displayed in studio.

Here's the relevant bit of the log file.

2016-04-16 12:38:41,196 ERROR 21367 [xmodule.modulestore.xml] xml.py:407 - ERROR: Failed to load courselike 'Q291cnNlTG9jYXRvcih1J01JVHgnLCB1J1Rlc3QxMDEnLCB1JzIwMTZfU3VtbWVyJywgTm9uZSwgTm9uZSk=/demo-test-course': Expected first tab to have type 'courseware'.  tabs: '[{u'type': u'course_info', u'name': u'Home'}, {u'type': u'courseware', u'name': u'Course'}, {u'type': u'discussion', u'name': u'Discussion'}, {u'type': u'wiki', u'name': u'Wiki'}, {u'type': u'progress', u'name': u'Progress'}, {u'type': u'static_tab', u'name': u'Custom page 1', u'url_slug': u'661eafb0214445b2a0c7d4e3260c3b08'}, {u'type': u'static_tab', u'name': u'Custom Page 2', u'url_slug': u'184f9fcff5ca4d86bb648502e36df0f2'}, {u'type': u'pdf_textbooks', u'name': u'Textbooks'}, {u'type': u'textbooks', u'name': u'Textbooks'}]' For course: edX/Test101/course
Traceback (most recent call last):
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 402, in try_load_course
    course_descriptor = self.load_course(course_dir, course_ids, errorlog.tracker, target_course_id)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 576, in load_course
    course_descriptor = system.process_xml(etree.tostring(course_data, encoding='unicode'))
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 196, in process_xml
    id_manager,
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1514, in xblock_from_node
    block = block_class.parse_xml(node, self, keys, id_generator)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 516, in parse_xml
    return super(XmlParserMixin, cls).parse_xml(node, runtime, keys, id_generator)  # pylint: disable=bad-super-call
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1030, in parse_xml
    block = cls.from_xml(xml, runtime, id_generator)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/course_module.py", line 846, in from_xml
    instance = super(CourseDescriptor, cls).from_xml(xml_data, system, id_generator)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 505, in from_xml
    id_generator,
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 389, in parse_xml
    field_data,
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/runtime.py", line 635, in construct_xblock_from_class
    *args, **kwargs
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/course_module.py", line 796, in __init__
    raise type(err)('{msg} For course: {course_id}'.format(msg=err.message, course_id=unicode(self.id)))
InvalidTabsException: Expected first tab to have type 'courseware'.  tabs: '[{u'type': u'course_info', u'name': u'Home'}, {u'type': u'courseware', u'name': u'Course'}, {u'type': u'discussion', u'name': u'Discussion'}, {u'type': u'wiki', u'name': u'Wiki'}, {u'type': u'progress', u'name': u'Progress'}, {u'type': u'static_tab', u'name': u'Custom page 1', u'url_slug': u'661eafb0214445b2a0c7d4e3260c3b08'}, {u'type': u'static_tab', u'name': u'Custom Page 2', u'url_slug': u'184f9fcff5ca4d86bb648502e36df0f2'}, {u'type': u'pdf_textbooks', u'name': u'Textbooks'}, {u'type': u'textbooks', u'name': u'Textbooks'}]' For course: edX/Test101/course
2016-04-16 12:38:41,270 ERROR 21367 [contentstore.views.import_export] import_export.py:300 - error importing course
Traceback (most recent call last):
  File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/import_export.py", line 288, in _import_handler
    target_id=courselike_key
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml_importer.py", line 656, in import_course_from_xml
    return list(manager.run_imports())
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml_importer.py", line 439, in run_imports
    source_courselike, courselike, data_path = self.get_courselike(courselike_key, runtime, dest_id)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml_importer.py", line 476, in get_courselike
    runtime, courselike_key, dest_id, source_course,
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml_importer.py", line 312, in import_courselike
    course_data_path = path(self.data_dir) / source_courselike.data_dir
AttributeError: 'NoneType' object has no attribute 'data_dir'
2016-04-16 12:38:41,446 INFO 21367 [contentstore.views.import_export] import_export.py:313 - Course import course-v1:MITx+Test101+2016_Summer: Temp data cleared

Possibly relevant, since I was on a fresh devstack edx-platform, I was at the tag named-release/dogwood.rc