Commit 53ad61a7 by Clinton Blackburn Committed by GitHub

Merge pull request #298 from edx/clintonb/language-fix

Language indexing updates
parents 695ec99a bc3a6fad
...@@ -26,6 +26,7 @@ from course_discovery.apps.course_metadata.tests.factories import ( ...@@ -26,6 +26,7 @@ from course_discovery.apps.course_metadata.tests.factories import (
OrganizationFactory, PersonFactory, SeatFactory, ProgramFactory, CorporateEndorsementFactory, EndorsementFactory, OrganizationFactory, PersonFactory, SeatFactory, ProgramFactory, CorporateEndorsementFactory, EndorsementFactory,
JobOutlookItemFactory, ExpectedLearningItemFactory, PositionFactory JobOutlookItemFactory, ExpectedLearningItemFactory, PositionFactory
) )
from course_discovery.apps.ietf_language_tags.models import LanguageTag
# pylint:disable=no-member # pylint:disable=no-member
...@@ -46,6 +47,9 @@ def serialize_datetime(d): ...@@ -46,6 +47,9 @@ def serialize_datetime(d):
def serialize_language(language): def serialize_language(language):
if language.code.startswith('zh'):
return language.name
return language.macrolanguage return language.macrolanguage
...@@ -579,7 +583,7 @@ class AffiliateWindowSerializerTests(TestCase): ...@@ -579,7 +583,7 @@ class AffiliateWindowSerializerTests(TestCase):
class CourseRunSearchSerializerTests(TestCase): class CourseRunSearchSerializerTests(TestCase):
def test_data(self): def test_data(self):
course_run = CourseRunFactory() course_run = CourseRunFactory(transcript_languages=LanguageTag.objects.filter(code__in=['en-us', 'zh-cn']))
serializer = self.serialize_course_run(course_run) serializer = self.serialize_course_run(course_run)
course_run_key = CourseKey.from_string(course_run.key) course_run_key = CourseKey.from_string(course_run.key)
......
...@@ -121,13 +121,18 @@ class CourseRunIndex(BaseCourseIndex, indexes.Indexable): ...@@ -121,13 +121,18 @@ class CourseRunIndex(BaseCourseIndex, indexes.Indexable):
return obj.status == CourseRun.Status.Published return obj.status == CourseRun.Status.Published
def _prepare_language(self, language): def _prepare_language(self, language):
return language.macrolanguage if language:
# ECOM-5466: Render the macro language for all languages except Chinese
if language.code.startswith('zh'):
return language.name
else:
return language.macrolanguage
def prepare_language(self, obj):
if obj.language:
return self._prepare_language(obj.language)
return None return None
def prepare_language(self, obj):
return self._prepare_language(obj.language)
def prepare_number(self, obj): def prepare_number(self, obj):
course_run_key = CourseKey.from_string(obj.key) course_run_key = CourseKey.from_string(obj.key)
return course_run_key.course return course_run_key.course
......
...@@ -9,7 +9,7 @@ def fix_tag_names(apps, schema_editor): ...@@ -9,7 +9,7 @@ def fix_tag_names(apps, schema_editor):
LanguageTag = apps.get_model('ietf_language_tags', 'LanguageTag') LanguageTag = apps.get_model('ietf_language_tags', 'LanguageTag')
for tag in LanguageTag.objects.all(): for tag in LanguageTag.objects.all():
tag.name = tag.name.replace('', '-') tag.name = tag.name.replace('', '-')
tag.save() tag.save()
...@@ -19,5 +19,5 @@ class Migration(migrations.Migration): ...@@ -19,5 +19,5 @@ class Migration(migrations.Migration):
] ]
operations = [ operations = [
migrations.RunPython(fix_tag_names), migrations.RunPython(fix_tag_names, migrations.RunPython.noop),
] ]
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
def fix_tag_names(apps, schema_editor):
""" Replace dashes (—) in tag names with hyphens (-)."""
LanguageTag = apps.get_model('ietf_language_tags', 'LanguageTag')
for tag in LanguageTag.objects.all():
tag.name = tag.name.replace('–', '-')
tag.save()
class Migration(migrations.Migration):
dependencies = [
('ietf_language_tags', '0004_add_chinese_tags'),
]
operations = [
migrations.RunPython(fix_tag_names, migrations.RunPython.noop),
]
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