Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
course-discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
course-discovery
Commits
834610eb
Commit
834610eb
authored
Jul 28, 2016
by
Clinton Blackburn
Committed by
GitHub
Jul 28, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #184 from edx/clintonb/language-index
Language tag updates
parents
117997e0
a0defe51
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
120 additions
and
88 deletions
+120
-88
course_discovery/apps/api/tests/test_serializers.py
+1
-1
course_discovery/apps/course_metadata/search_indexes.py
+1
-1
course_discovery/apps/ietf_language_tags/migrations/0002_language_tag_data_migration.py
+86
-86
course_discovery/apps/ietf_language_tags/migrations/0003_fix_language_tag_names.py
+23
-0
course_discovery/apps/ietf_language_tags/models.py
+4
-0
course_discovery/apps/ietf_language_tags/tests/test_models.py
+5
-0
No files found.
course_discovery/apps/api/tests/test_serializers.py
View file @
834610eb
...
...
@@ -347,7 +347,7 @@ class CourseRunSearchSerializerTests(TestCase):
return
d
.
strftime
(
'
%
Y-
%
m-
%
dT
%
H:
%
M:
%
S'
)
if
d
else
None
def
serialize_language
(
self
,
language
):
return
language
.
nam
e
return
language
.
macrolanguag
e
def
test_data
(
self
):
course_run
=
CourseRunFactory
()
...
...
course_discovery/apps/course_metadata/search_indexes.py
View file @
834610eb
...
...
@@ -85,7 +85,7 @@ class CourseRunIndex(BaseCourseIndex, indexes.Indexable):
image_url
=
indexes
.
CharField
(
model_attr
=
'image_url'
,
null
=
True
)
def
_prepare_language
(
self
,
language
):
return
language
.
nam
e
return
language
.
macrolanguag
e
def
prepare_language
(
self
,
obj
):
if
obj
.
language
:
...
...
course_discovery/apps/ietf_language_tags/migrations/0002_language_tag_data_migration.py
View file @
834610eb
...
...
@@ -7,126 +7,126 @@ from django.db import migrations, models
LANGTAGS
=
(
(
"Afrikaans"
,
"af"
),
(
"Albanian"
,
"sq"
),
(
"Arabic
–
Algeria"
,
"ar-dz"
),
(
"Arabic
–
Bahrain"
,
"ar-bh"
),
(
"Arabic
–
Egypt"
,
"ar-eg"
),
(
"Arabic
–
Iraq"
,
"ar-iq"
),
(
"Arabic
–
Jordan"
,
"ar-jo"
),
(
"Arabic
–
Kuwait"
,
"ar-kw"
),
(
"Arabic
–
Lebanon"
,
"ar-lb"
),
(
"Arabic
–
Libya"
,
"ar-ly"
),
(
"Arabic
–
Morocco"
,
"ar-ma"
),
(
"Arabic
–
Oman"
,
"ar-om"
),
(
"Arabic
–
Qatar"
,
"ar-qa"
),
(
"Arabic
–
Saudi Arabia"
,
"ar-sa"
),
(
"Arabic
–
Syria"
,
"ar-sy"
),
(
"Arabic
–
Tunisia"
,
"ar-tn"
),
(
"Arabic
–
United Arab Emirates"
,
"ar-ae"
),
(
"Arabic
–
Yemen"
,
"ar-ye"
),
(
"Arabic
-
Algeria"
,
"ar-dz"
),
(
"Arabic
-
Bahrain"
,
"ar-bh"
),
(
"Arabic
-
Egypt"
,
"ar-eg"
),
(
"Arabic
-
Iraq"
,
"ar-iq"
),
(
"Arabic
-
Jordan"
,
"ar-jo"
),
(
"Arabic
-
Kuwait"
,
"ar-kw"
),
(
"Arabic
-
Lebanon"
,
"ar-lb"
),
(
"Arabic
-
Libya"
,
"ar-ly"
),
(
"Arabic
-
Morocco"
,
"ar-ma"
),
(
"Arabic
-
Oman"
,
"ar-om"
),
(
"Arabic
-
Qatar"
,
"ar-qa"
),
(
"Arabic
-
Saudi Arabia"
,
"ar-sa"
),
(
"Arabic
-
Syria"
,
"ar-sy"
),
(
"Arabic
-
Tunisia"
,
"ar-tn"
),
(
"Arabic
-
United Arab Emirates"
,
"ar-ae"
),
(
"Arabic
-
Yemen"
,
"ar-ye"
),
(
"Armenian"
,
"hy"
),
(
"Azeri
–
Latin"
,
"az-az"
),
(
"Azeri
-
Latin"
,
"az-az"
),
(
"Basque (Basque)"
,
"eu"
),
(
"Belarusian"
,
"be"
),
(
"Bulgarian"
,
"bg"
),
(
"Catalan"
,
"ca"
),
(
"Chinese
–
China"
,
"zh-cn"
),
(
"Chinese
–
Hong Kong SAR"
,
"zh-hk"
),
(
"Chinese
–
Macau SAR"
,
"zh-mo"
),
(
"Chinese
–
Singapore"
,
"zh-sg"
),
(
"Chinese
–
Taiwan"
,
"zh-tw"
),
(
"Chinese
-
China"
,
"zh-cn"
),
(
"Chinese
-
Hong Kong SAR"
,
"zh-hk"
),
(
"Chinese
-
Macau SAR"
,
"zh-mo"
),
(
"Chinese
-
Singapore"
,
"zh-sg"
),
(
"Chinese
-
Taiwan"
,
"zh-tw"
),
(
"Croatian"
,
"hr"
),
(
"Czech"
,
"cs"
),
(
"Danish"
,
"da"
),
(
"Dutch
–
Belgium"
,
"nl-be"
),
(
"Dutch
–
Netherlands"
,
"nl-nl"
),
(
"English
–
Australia"
,
"en-au"
),
(
"English
–
Belize"
,
"en-bz"
),
(
"English
–
Canada"
,
"en-ca"
),
(
"English
–
Caribbean"
,
"en-cb"
),
(
"English
–
India"
,
"en-in"
),
(
"English
–
Ireland"
,
"en-ie"
),
(
"English
–
Jamaica"
,
"en-jm"
),
(
"English
–
Malaysia"
,
"en-my"
),
(
"English
–
New Zealand"
,
"en-nz"
),
(
"English
–
Phillippines"
,
"en-ph"
),
(
"English
–
Singapore"
,
"en-sg"
),
(
"English
–
Southern Africa"
,
"en-za"
),
(
"English
–
Trinidad"
,
"en-tt"
),
(
"English
–
Great Britain"
,
"en-gb"
),
(
"English
–
United States"
,
"en-us"
),
(
"English
–
Zimbabwe"
,
"en-zw"
),
(
"Dutch
-
Belgium"
,
"nl-be"
),
(
"Dutch
-
Netherlands"
,
"nl-nl"
),
(
"English
-
Australia"
,
"en-au"
),
(
"English
-
Belize"
,
"en-bz"
),
(
"English
-
Canada"
,
"en-ca"
),
(
"English
-
Caribbean"
,
"en-cb"
),
(
"English
-
India"
,
"en-in"
),
(
"English
-
Ireland"
,
"en-ie"
),
(
"English
-
Jamaica"
,
"en-jm"
),
(
"English
-
Malaysia"
,
"en-my"
),
(
"English
-
New Zealand"
,
"en-nz"
),
(
"English
-
Phillippines"
,
"en-ph"
),
(
"English
-
Singapore"
,
"en-sg"
),
(
"English
-
Southern Africa"
,
"en-za"
),
(
"English
-
Trinidad"
,
"en-tt"
),
(
"English
-
Great Britain"
,
"en-gb"
),
(
"English
-
United States"
,
"en-us"
),
(
"English
-
Zimbabwe"
,
"en-zw"
),
(
"Estonian"
,
"et"
),
(
"Farsi"
,
"fa"
),
(
"Finnish"
,
"fi"
),
(
"Faroese"
,
"fo"
),
(
"French
–
France"
,
"fr-fr"
),
(
"French
–
Belgium"
,
"fr-be"
),
(
"French
–
Canada"
,
"fr-ca"
),
(
"French
–
Luxembourg"
,
"fr-lu"
),
(
"French
–
Switzerland"
,
"fr-ch"
),
(
"Irish
–
Ireland"
,
"gd-ie"
),
(
"Scottish Gaelic
–
United Kingdom"
,
"gd"
),
(
"German
–
Germany"
,
"de-de"
),
(
"German
–
Austria"
,
"de-at"
),
(
"German
–
Liechtenstein"
,
"de-li"
),
(
"German
–
Luxembourg"
,
"de-lu"
),
(
"German
–
Switzerland"
,
"de-ch"
),
(
"French
-
France"
,
"fr-fr"
),
(
"French
-
Belgium"
,
"fr-be"
),
(
"French
-
Canada"
,
"fr-ca"
),
(
"French
-
Luxembourg"
,
"fr-lu"
),
(
"French
-
Switzerland"
,
"fr-ch"
),
(
"Irish
-
Ireland"
,
"gd-ie"
),
(
"Scottish Gaelic
-
United Kingdom"
,
"gd"
),
(
"German
-
Germany"
,
"de-de"
),
(
"German
-
Austria"
,
"de-at"
),
(
"German
-
Liechtenstein"
,
"de-li"
),
(
"German
-
Luxembourg"
,
"de-lu"
),
(
"German
-
Switzerland"
,
"de-ch"
),
(
"Greek"
,
"el"
),
(
"Hebrew"
,
"he"
),
(
"Hindi"
,
"hi"
),
(
"Hungarian"
,
"hu"
),
(
"Icelandic"
,
"is"
),
(
"Indonesian"
,
"id"
),
(
"Italian
–
Italy"
,
"it-it"
),
(
"Italian
–
Switzerland"
,
"it-ch"
),
(
"Italian
-
Italy"
,
"it-it"
),
(
"Italian
-
Switzerland"
,
"it-ch"
),
(
"Japanese"
,
"ja"
),
(
"Korean"
,
"ko"
),
(
"Latvian"
,
"lv"
),
(
"Lithuanian"
,
"lt"
),
(
"F.Y.R.O. Macedonia"
,
"mk"
),
(
"Malay
–
Malaysia"
,
"ms-my"
),
(
"Malay
–
Brunei"
,
"ms-bn"
),
(
"Malay
-
Malaysia"
,
"ms-my"
),
(
"Malay
-
Brunei"
,
"ms-bn"
),
(
"Maltese"
,
"mt"
),
(
"Marathi"
,
"mr"
),
(
"Norwegian
–
Bokmål"
,
"nb-no"
),
(
"Norwegian
–
Nynorsk"
,
"nn-no"
),
(
"Norwegian
-
Bokmål"
,
"nb-no"
),
(
"Norwegian
-
Nynorsk"
,
"nn-no"
),
(
"Polish"
,
"pl"
),
(
"Portuguese
–
Portugal"
,
"pt-pt"
),
(
"Portuguese
–
Brazil"
,
"pt-br"
),
(
"Portuguese
-
Portugal"
,
"pt-pt"
),
(
"Portuguese
-
Brazil"
,
"pt-br"
),
(
"Raeto-Romance"
,
"rm"
),
(
"Romanian
–
Romania"
,
"ro"
),
(
"Romanian
–
Republic of Moldova"
,
"ro-mo"
),
(
"Romanian
-
Romania"
,
"ro"
),
(
"Romanian
-
Republic of Moldova"
,
"ro-mo"
),
(
"Russian"
,
"ru"
),
(
"Russian
–
Republic of Moldova"
,
"ru-mo"
),
(
"Russian
-
Republic of Moldova"
,
"ru-mo"
),
(
"Sanskrit"
,
"sa"
),
(
"Serbian
–
Latin"
,
"sr-sp"
),
(
"Serbian
-
Latin"
,
"sr-sp"
),
(
"Setsuana"
,
"tn"
),
(
"Slovenian"
,
"sl"
),
(
"Slovak"
,
"sk"
),
(
"Sorbian"
,
"sb"
),
(
"Spanish
–
Spain (Modern)"
,
"es-es"
),
(
"Spanish
–
Argentina"
,
"es-ar"
),
(
"Spanish
–
Bolivia"
,
"es-bo"
),
(
"Spanish
–
Chile"
,
"es-cl"
),
(
"Spanish
–
Colombia"
,
"es-co"
),
(
"Spanish
–
Costa Rica"
,
"es-cr"
),
(
"Spanish
–
Dominican Republic"
,
"es-do"
),
(
"Spanish
–
Ecuador"
,
"es-ec"
),
(
"Spanish
–
Guatemala"
,
"es-gt"
),
(
"Spanish
–
Honduras"
,
"es-hn"
),
(
"Spanish
–
Mexico"
,
"es-mx"
),
(
"Spanish
–
Nicaragua"
,
"es-ni"
),
(
"Spanish
–
Panama"
,
"es-pa"
),
(
"Spanish
–
Peru"
,
"es-pe"
),
(
"Spanish
–
Puerto Rico"
,
"es-pr"
),
(
"Spanish
–
Paraguay"
,
"es-py"
),
(
"Spanish
–
El Salvador"
,
"es-sv"
),
(
"Spanish
–
Uruguay"
,
"es-uy"
),
(
"Spanish
–
Venezuela"
,
"es-ve"
),
(
"Spanish
-
Spain (Modern)"
,
"es-es"
),
(
"Spanish
-
Argentina"
,
"es-ar"
),
(
"Spanish
-
Bolivia"
,
"es-bo"
),
(
"Spanish
-
Chile"
,
"es-cl"
),
(
"Spanish
-
Colombia"
,
"es-co"
),
(
"Spanish
-
Costa Rica"
,
"es-cr"
),
(
"Spanish
-
Dominican Republic"
,
"es-do"
),
(
"Spanish
-
Ecuador"
,
"es-ec"
),
(
"Spanish
-
Guatemala"
,
"es-gt"
),
(
"Spanish
-
Honduras"
,
"es-hn"
),
(
"Spanish
-
Mexico"
,
"es-mx"
),
(
"Spanish
-
Nicaragua"
,
"es-ni"
),
(
"Spanish
-
Panama"
,
"es-pa"
),
(
"Spanish
-
Peru"
,
"es-pe"
),
(
"Spanish
-
Puerto Rico"
,
"es-pr"
),
(
"Spanish
-
Paraguay"
,
"es-py"
),
(
"Spanish
-
El Salvador"
,
"es-sv"
),
(
"Spanish
-
Uruguay"
,
"es-uy"
),
(
"Spanish
-
Venezuela"
,
"es-ve"
),
(
"Southern Sotho"
,
"st"
),
(
"Swahili"
,
"sw"
),
(
"Swedish
–
Sweden"
,
"sv-se"
),
(
"Swedish
–
Finland"
,
"sv-fi"
),
(
"Swedish
-
Sweden"
,
"sv-se"
),
(
"Swedish
-
Finland"
,
"sv-fi"
),
(
"Tamil"
,
"ta"
),
(
"Tatar"
,
"tt"
),
(
"Thai"
,
"th"
),
...
...
@@ -134,7 +134,7 @@ LANGTAGS = (
(
"Tsonga"
,
"ts"
),
(
"Ukrainian"
,
"uk"
),
(
"Urdu"
,
"ur"
),
(
"Uzbek
–
Latin"
,
"uz-uz"
),
(
"Uzbek
-
Latin"
,
"uz-uz"
),
(
"Vietnamese"
,
"vi"
),
(
"Xhosa"
,
"xh"
),
(
"Yiddish"
,
"yi"
),
...
...
course_discovery/apps/ietf_language_tags/migrations/0003_fix_language_tag_names.py
0 → 100644
View file @
834610eb
# -*- 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'
,
'0002_language_tag_data_migration'
),
]
operations
=
[
migrations
.
RunPython
(
fix_tag_names
),
]
course_discovery/apps/ietf_language_tags/models.py
View file @
834610eb
...
...
@@ -10,3 +10,7 @@ class LanguageTag(models.Model):
def
__str__
(
self
):
return
'{code} - {name}'
.
format
(
code
=
self
.
code
,
name
=
self
.
name
)
@property
def
macrolanguage
(
self
):
return
self
.
name
.
split
(
'-'
)[
0
]
.
strip
()
course_discovery/apps/ietf_language_tags/tests/test_models.py
View file @
834610eb
...
...
@@ -15,3 +15,8 @@ class LanguageTagTests(TestCase):
name
=
'Test LanguageTag'
tag
=
LanguageTag
(
code
=
code
,
name
=
name
)
self
.
assertEqual
(
str
(
tag
),
'{code} - {name}'
.
format
(
code
=
code
,
name
=
name
))
def
test_macrolanguage
(
self
):
""" Verify the property returns the macrolanguage for a given LanguageTag. """
en_us
=
LanguageTag
(
code
=
'en-us'
,
name
=
'English - United States'
)
self
.
assertEqual
(
en_us
.
macrolanguage
,
'English'
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment