Skip to content

Commit 550da09

Browse files
committed
Added DEFAULT_LANGUAGE_CODE setting.
1 parent 8d23039 commit 550da09

File tree

12 files changed

+66
-29
lines changed

12 files changed

+66
-29
lines changed

aggregator/tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def setUp(self, mocker):
2626
)
2727
DocumentRelease.objects.update_or_create(
2828
release=release,
29-
lang="en",
29+
lang=settings.DEFAULT_LANGUAGE_CODE,
3030
defaults={"is_default": True},
3131
)
3232

blog/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ def invalidate_cached_entry(self):
196196
)
197197
is_secure = url.scheme == "https"
198198
request = rf.get(url.path, secure=is_secure)
199-
request.LANGUAGE_CODE = "en"
199+
request.LANGUAGE_CODE = settings.DEFAULT_LANGUAGE_CODE
200200
cache = caches[settings.CACHE_MIDDLEWARE_ALIAS]
201201
cache_key = _generate_cache_header_key(
202202
settings.CACHE_MIDDLEWARE_KEY_PREFIX, request

djangoproject/settings/common.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,3 +313,5 @@
313313
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
314314

315315
FORMS_URLFIELD_ASSUME_HTTPS = True
316+
317+
DEFAULT_LANGUAGE_CODE = "en"

djangoproject/tests.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from http import HTTPStatus
22
from io import StringIO
33

4+
from django.conf import settings
45
from django.core.management import call_command
56
from django.test import TestCase
67
from django.urls import NoReverseMatch, get_resolver
@@ -98,7 +99,9 @@ class ExcludeHostsLocaleMiddlewareTests(TestCase):
9899
@classmethod
99100
def setUpTestData(cls):
100101
r2 = Release.objects.create(version="2.0")
101-
DocumentRelease.objects.create(lang="en", release=r2, is_default=True)
102+
DocumentRelease.objects.create(
103+
lang=settings.DEFAULT_LANGUAGE_CODE, release=r2, is_default=True
104+
)
102105

103106
def test_docs_host_excluded(self):
104107
"""We get no Content-Language or Vary headers when docs host is excluded"""

docs/management/commands/update_docs.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ def _get_doc_releases(self, versions, options):
7979

8080
# Skip translated non-stable versions to avoid a crash:
8181
# https://github.com/django/djangoproject.com/issues/627
82-
queryset = queryset.filter(Q(lang="en") | Q(release=default_docs_version))
82+
queryset = queryset.filter(
83+
Q(lang=settings.DEFAULT_LANGUAGE_CODE) | Q(release=default_docs_version)
84+
)
8385

8486
if options["language"]:
8587
queryset = queryset.filter(lang=options["language"])
@@ -161,7 +163,7 @@ def build_doc_release(self, release, force=False, interactive=False):
161163

162164
source_dir = checkout_dir.joinpath("docs")
163165

164-
if release.lang != "en":
166+
if release.lang != settings.DEFAULT_LANGUAGE_CODE:
165167
scm_url = release.scm_url.replace(
166168
"django.git", "django-docs-translations.git"
167169
)

docs/models.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939

4040

4141
class DocumentReleaseQuerySet(models.QuerySet):
42-
def current(self, lang="en"):
42+
def current(self, lang=settings.DEFAULT_LANGUAGE_CODE):
4343
current = self.get(is_default=True)
44-
if lang != "en":
44+
if lang != settings.DEFAULT_LANGUAGE_CODE:
4545
try:
4646
return self.get(lang=lang, release=current.release)
4747
except DocumentRelease.DoesNotExist:
@@ -91,7 +91,9 @@ class DocumentRelease(models.Model):
9191

9292
DEFAULT_CACHE_KEY = "%s_docs_version" % settings.CACHE_MIDDLEWARE_KEY_PREFIX
9393

94-
lang = models.CharField(max_length=7, choices=settings.LANGUAGES, default="en")
94+
lang = models.CharField(
95+
max_length=7, choices=settings.LANGUAGES, default=settings.DEFAULT_LANGUAGE_CODE
96+
)
9597
release = models.ForeignKey(
9698
Release,
9799
null=True,

docs/templatetags/docs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from urllib.parse import quote
33

44
from django import template
5+
from django.conf import settings
56
from django.template.defaultfilters import stringfilter
67
from django.utils.safestring import mark_safe
78
from django.utils.version import get_version_tuple
@@ -38,7 +39,7 @@ def get_all_doc_versions(context, url=None):
3839
3940
Usage: {% get_all_doc_versions <url> as "varname" %}
4041
"""
41-
lang = context.get("lang", "en")
42+
lang = context.get("lang", settings.DEFAULT_LANGUAGE_CODE)
4243
versions = []
4344

4445
# Look for each version of the docs.

docs/tests/test_models.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ def setUpTestData(cls):
118118
DocumentRelease.objects.bulk_create(
119119
DocumentRelease(lang=lang, release=release)
120120
for lang, release in [
121-
("en", None),
122-
("en", r1),
123-
("en", r2),
121+
(settings.DEFAULT_LANGUAGE_CODE, None),
122+
(settings.DEFAULT_LANGUAGE_CODE, r1),
123+
(settings.DEFAULT_LANGUAGE_CODE, r2),
124124
("sv", r1),
125125
("ar", r1),
126126
]
@@ -129,23 +129,28 @@ def setUpTestData(cls):
129129
def test_by_version(self):
130130
self.assertQuerySetEqual(
131131
DocumentRelease.objects.by_version("1.0"),
132-
[("en", "1.0"), ("sv", "1.0"), ("ar", "1.0")],
132+
[(settings.DEFAULT_LANGUAGE_CODE, "1.0"), ("sv", "1.0"), ("ar", "1.0")],
133133
transform=attrgetter("lang", "version"),
134134
ordered=False,
135135
)
136136

137137
def test_by_version_dev(self):
138138
self.assertQuerySetEqual(
139139
DocumentRelease.objects.by_version("dev"),
140-
[("en", "dev")],
140+
[(settings.DEFAULT_LANGUAGE_CODE, "dev")],
141141
transform=attrgetter("lang", "version"),
142142
ordered=False,
143143
)
144144

145145
def test_by_versions(self):
146146
self.assertQuerySetEqual(
147147
DocumentRelease.objects.by_versions("1.0", "dev"),
148-
[("en", "dev"), ("en", "1.0"), ("sv", "1.0"), ("ar", "1.0")],
148+
[
149+
(settings.DEFAULT_LANGUAGE_CODE, "dev"),
150+
(settings.DEFAULT_LANGUAGE_CODE, "1.0"),
151+
("sv", "1.0"),
152+
("ar", "1.0"),
153+
],
149154
transform=attrgetter("lang", "version"),
150155
ordered=False,
151156
)
@@ -155,18 +160,20 @@ def test_by_versions_empty(self):
155160
DocumentRelease.objects.by_versions()
156161

157162
def test_get_by_version_and_lang_exists(self):
158-
doc = DocumentRelease.objects.get_by_version_and_lang("1.0", "en")
163+
doc = DocumentRelease.objects.get_by_version_and_lang(
164+
"1.0", settings.DEFAULT_LANGUAGE_CODE
165+
)
159166
self.assertEqual(doc.release.version, "1.0")
160-
self.assertEqual(doc.lang, "en")
167+
self.assertEqual(doc.lang, settings.DEFAULT_LANGUAGE_CODE)
161168

162169
def test_get_by_version_and_lang_missing(self):
163170
with self.assertRaises(DocumentRelease.DoesNotExist):
164171
DocumentRelease.objects.get_by_version_and_lang("2.0", "sv")
165172

166173
def test_get_available_languages_by_version(self):
167174
get = DocumentRelease.objects.get_available_languages_by_version
168-
self.assertEqual(list(get("1.0")), ["ar", "en", "sv"])
169-
self.assertEqual(list(get("2.0")), ["en"])
175+
self.assertEqual(list(get("1.0")), ["ar", settings.DEFAULT_LANGUAGE_CODE, "sv"])
176+
self.assertEqual(list(get("2.0")), [settings.DEFAULT_LANGUAGE_CODE])
170177
self.assertEqual(list(get("3.0")), [])
171178

172179

@@ -440,7 +447,7 @@ def test_search_title(self):
440447
with self.assertNumQueries(1):
441448
self.assertQuerySetEqual(
442449
misspelled_query,
443-
[("Generic views", "en", "1.2.3")],
450+
[("Generic views", settings.DEFAULT_LANGUAGE_CODE, "1.2.3")],
444451
transform=attrgetter(
445452
"headline", "release.lang", "release.release.version"
446453
),

docs/tests/test_templates.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import tempfile
44
from pathlib import Path
55

6+
from django.conf import settings
67
from django.template import Context, Template
78
from django.template.loader import render_to_string
89
from django.test import RequestFactory, TestCase
@@ -27,8 +28,16 @@ def test_get_all_doc_versions_empty(self):
2728
def test_get_all_doc_versions(self):
2829
tmp_docs_build_root = Path(tempfile.mkdtemp())
2930
self.addCleanup(shutil.rmtree, tmp_docs_build_root)
30-
os.makedirs(tmp_docs_build_root.joinpath("en", "1.8", "_built", "json"))
31-
os.makedirs(tmp_docs_build_root.joinpath("en", "1.11", "_built", "json"))
31+
os.makedirs(
32+
tmp_docs_build_root.joinpath(
33+
settings.DEFAULT_LANGUAGE_CODE, "1.8", "_built", "json"
34+
)
35+
)
36+
os.makedirs(
37+
tmp_docs_build_root.joinpath(
38+
settings.DEFAULT_LANGUAGE_CODE, "1.11", "_built", "json"
39+
)
40+
)
3241
with self.settings(DOCS_BUILD_ROOT=tmp_docs_build_root):
3342
self.assertEqual(get_all_doc_versions({}), ["1.8", "1.11", "dev"])
3443

@@ -193,15 +202,15 @@ class TemplateTestCase(TestCase):
193202
def _assertOGTitleEqual(self, doc, expected):
194203
output = render_to_string(
195204
"docs/doc.html",
196-
{"doc": doc, "lang": "en", "version": "5.0"},
205+
{"doc": doc, "lang": settings.DEFAULT_LANGUAGE_CODE, "version": "5.0"},
197206
request=RequestFactory().get("/"),
198207
)
199208
self.assertInHTML(f'<meta property="og:title" content="{expected}" />', output)
200209

201210
def test_opengraph_title(self):
202211
doc = Document.objects.create(
203212
release=DocumentRelease.objects.create(
204-
lang="en",
213+
lang=settings.DEFAULT_LANGUAGE_CODE,
205214
release=Release.objects.create(version="5.0"),
206215
),
207216
)

docs/tests/test_views.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from http import HTTPStatus
22

3+
from django.conf import settings
34
from django.contrib.sites.models import Site
45
from django.test import SimpleTestCase, TestCase
56
from django.urls import reverse, set_urlconf
@@ -198,7 +199,11 @@ def test_code_links(self):
198199
base_url = reverse_with_host(
199200
"document-detail",
200201
host="docs",
201-
kwargs={"lang": "en", "version": "5.1", "url": "refs/query"},
202+
kwargs={
203+
"lang": settings.DEFAULT_LANGUAGE_CODE,
204+
"version": "5.1",
205+
"url": "refs/query",
206+
},
202207
)
203208
for query, expected_code_links in [
204209
(
@@ -246,14 +251,16 @@ def test_sitemap_index(self):
246251
)
247252
self.assertContains(response, "<sitemap>", count=2)
248253
en_sitemap_url = reverse_with_host(
249-
"document-sitemap", host="docs", kwargs={"section": "en"}
254+
"document-sitemap",
255+
host="docs",
256+
kwargs={"section": settings.DEFAULT_LANGUAGE_CODE},
250257
)
251258
self.assertContains(response, f"<loc>{en_sitemap_url}</loc>")
252259

253260
def test_sitemap(self):
254261
doc_release = DocumentRelease.objects.create()
255262
document = Document.objects.create(release=doc_release)
256-
sitemap = DocsSitemap("en")
263+
sitemap = DocsSitemap(settings.DEFAULT_LANGUAGE_CODE)
257264
urls = sitemap.get_urls()
258265
self.assertEqual(len(urls), 1)
259266
url_info = urls[0]

0 commit comments

Comments
 (0)