'Expects the same arguments as XModuleDescriptor.__init__'

def __init__(self, *args, **kwargs):

    super(CourseDescriptor, self).__init__(*args, **kwargs)
    _ = self.runtime.service(self, 'i18n').ugettext
    self._gating_prerequisites = None
    if (self.wiki_slug is None):
        self.wiki_slug = self.location.course
    if ((self.due_date_display_format is None) and (self.show_timezone is False)):
        self.due_date_display_format = 'DATE_TIME'
        del self.show_timezone
    if (self.system.resources_fs is None):
        self.syllabus_present = False
    else:
        self.syllabus_present = self.system.resources_fs.exists(path('syllabus'))
    self._grading_policy = {}
    self.set_grading_policy(self.grading_policy)
    if (self.discussion_topics == {}):
        self.discussion_topics = {_('General'): {'id': self.location.html_id()}}
    try:
        if (not getattr(self, 'tabs', [])):
            CourseTabList.initialize_default(self)
    except InvalidTabsException as err:
        raise type(err)('{msg}    For    course:    {course_id}'.format(msg=err.message, course_id=unicode(self.id)))
    self.set_default_certificate_available_date()
