Commit f1f7e1ef by Matthew Piatetsky

Ingest LMS hidden courses into catalog

parent 95425a3e
...@@ -372,7 +372,7 @@ class CourseRunSerializer(MinimalCourseRunSerializer): ...@@ -372,7 +372,7 @@ class CourseRunSerializer(MinimalCourseRunSerializer):
fields = MinimalCourseRunSerializer.Meta.fields + ( fields = MinimalCourseRunSerializer.Meta.fields + (
'course', 'full_description', 'start', 'end', 'enrollment_start', 'enrollment_end', 'announcement', 'course', 'full_description', 'start', 'end', 'enrollment_start', 'enrollment_end', 'announcement',
'video', 'seats', 'content_language', 'transcript_languages', 'instructors', 'staff', 'pacing_type', 'video', 'seats', 'content_language', 'transcript_languages', 'instructors', 'staff', 'pacing_type',
'min_effort', 'max_effort', 'modified', 'level_type', 'availability', 'mobile_available', 'min_effort', 'max_effort', 'modified', 'level_type', 'availability', 'mobile_available', 'hidden',
) )
def get_instructors(self, obj): # pylint: disable=unused-argument def get_instructors(self, obj): # pylint: disable=unused-argument
......
...@@ -244,6 +244,7 @@ class CourseRunSerializerTests(MinimalCourseRunSerializerTests): ...@@ -244,6 +244,7 @@ class CourseRunSerializerTests(MinimalCourseRunSerializerTests):
'video': VideoSerializer(course_run.video).data, 'video': VideoSerializer(course_run.video).data,
'pacing_type': course_run.pacing_type, 'pacing_type': course_run.pacing_type,
'mobile_available': course_run.mobile_available, 'mobile_available': course_run.mobile_available,
'hidden': course_run.hidden,
'content_language': course_run.language.code, 'content_language': course_run.language.code,
'transcript_languages': [], 'transcript_languages': [],
'min_effort': course_run.min_effort, 'min_effort': course_run.min_effort,
......
...@@ -96,7 +96,7 @@ class CoursesApiDataLoader(AbstractDataLoader): ...@@ -96,7 +96,7 @@ class CoursesApiDataLoader(AbstractDataLoader):
self._process_response(response) self._process_response(response)
def _make_request(self, page): def _make_request(self, page):
return self.api_client.courses().get(page=page, page_size=self.PAGE_SIZE) return self.api_client.courses().get(page=page, page_size=self.PAGE_SIZE, username='course_discovery_worker')
def _process_response(self, response): def _process_response(self, response):
results = response['results'] results = response['results']
...@@ -140,11 +140,13 @@ class CoursesApiDataLoader(AbstractDataLoader): ...@@ -140,11 +140,13 @@ class CoursesApiDataLoader(AbstractDataLoader):
def update_course_run(self, course, body): def update_course_run(self, course, body):
key = body['id'] key = body['id']
defaults = { defaults = {
'key': key, 'key': key,
'end': self.parse_date(body['end']), 'end': self.parse_date(body['end']),
'enrollment_start': self.parse_date(body['enrollment_start']), 'enrollment_start': self.parse_date(body['enrollment_start']),
'enrollment_end': self.parse_date(body['enrollment_end']), 'enrollment_end': self.parse_date(body['enrollment_end']),
'hidden': body.get('hidden', False),
} }
# When using a marketing site, only dates (excluding start) should come from the Course API. # When using a marketing site, only dates (excluding start) should come from the Course API.
......
...@@ -39,6 +39,7 @@ COURSES_API_BODIES = [ ...@@ -39,6 +39,7 @@ COURSES_API_BODIES = [
'start': '2015-06-15T13:00:00Z', 'start': '2015-06-15T13:00:00Z',
'pacing': 'self', 'pacing': 'self',
'mobile_available': True, 'mobile_available': True,
'hidden': False,
}, },
{ {
'effort': None, 'effort': None,
...@@ -61,6 +62,7 @@ COURSES_API_BODIES = [ ...@@ -61,6 +62,7 @@ COURSES_API_BODIES = [
'start': '2015-10-29T09:00:00Z', 'start': '2015-10-29T09:00:00Z',
'pacing': 'instructor,', 'pacing': 'instructor,',
'mobile_available': False, 'mobile_available': False,
'hidden': False,
}, },
{ {
# Add a second run of KyotoUx+000x (3T2016) to test merging data across # Add a second run of KyotoUx+000x (3T2016) to test merging data across
...@@ -84,6 +86,7 @@ COURSES_API_BODIES = [ ...@@ -84,6 +86,7 @@ COURSES_API_BODIES = [
'short_description': '', 'short_description': '',
'start': None, 'start': None,
'mobile_available': None, 'mobile_available': None,
'hidden': True,
}, },
] ]
......
...@@ -167,6 +167,7 @@ class CoursesApiDataLoaderTests(ApiClientTestMixin, DataLoaderTestMixin, TestCas ...@@ -167,6 +167,7 @@ class CoursesApiDataLoaderTests(ApiClientTestMixin, DataLoaderTestMixin, TestCas
'title_override': None, 'title_override': None,
'short_description_override': None, 'short_description_override': None,
'video': None, 'video': None,
'hidden': body.get('hidden', False),
} }
if not partner_has_marketing_site: if not partner_has_marketing_site:
......
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