Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
D
django
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
django
Commits
47a131b9
Kaydet (Commit)
47a131b9
authored
Kas 22, 2014
tarafından
Aymeric Augustin
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Encapsulated TEMPLATE_STRING_IF_INVALID in Engine.
üst
37505b63
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
26 deletions
+16
-26
base.py
django/template/base.py
+10
-15
i18n.py
django/templatetags/i18n.py
+1
-1
tests.py
tests/template_tests/tests.py
+5
-10
No files found.
django/template/base.py
Dosyayı görüntüle @
47a131b9
...
...
@@ -71,10 +71,6 @@ libraries = {}
# global list of libraries to load by default for a new parser
builtins
=
[]
# True if TEMPLATE_STRING_IF_INVALID contains a format string (%s). None means
# uninitialized.
invalid_var_format_string
=
None
class
TemplateSyntaxError
(
Exception
):
pass
...
...
@@ -601,15 +597,14 @@ class FilterExpression(object):
if
ignore_failures
:
obj
=
None
else
:
if
settings
.
TEMPLATE_STRING_IF_INVALID
:
global
invalid_var_format_string
if
invalid_var_format_string
is
None
:
invalid_var_format_string
=
'
%
s'
in
settings
.
TEMPLATE_STRING_IF_INVALID
if
invalid_var_format_string
:
return
settings
.
TEMPLATE_STRING_IF_INVALID
%
self
.
var
return
settings
.
TEMPLATE_STRING_IF_INVALID
string_if_invalid
=
context
.
engine
.
string_if_invalid
if
string_if_invalid
:
if
'
%
s'
in
string_if_invalid
:
return
string_if_invalid
%
self
.
var
else
:
return
string_if_invalid
else
:
obj
=
s
ettings
.
TEMPLATE_STRING_IF_INVALID
obj
=
s
tring_if_invalid
else
:
obj
=
self
.
var
for
func
,
args
in
self
.
filters
:
...
...
@@ -794,7 +789,7 @@ class Variable(object):
if
getattr
(
current
,
'do_not_call_in_templates'
,
False
):
pass
elif
getattr
(
current
,
'alters_data'
,
False
):
current
=
settings
.
TEMPLATE_STRING_IF_INVALID
current
=
context
.
engine
.
string_if_invalid
else
:
try
:
# method call (assuming no args required)
current
=
current
()
...
...
@@ -802,12 +797,12 @@ class Variable(object):
try
:
getcallargs
(
current
)
except
TypeError
:
# arguments *were* required
current
=
settings
.
TEMPLATE_STRING_IF_INVALID
# invalid method call
current
=
context
.
engine
.
string_if_invalid
# invalid method call
else
:
raise
except
Exception
as
e
:
if
getattr
(
e
,
'silent_variable_failure'
,
False
):
current
=
settings
.
TEMPLATE_STRING_IF_INVALID
current
=
context
.
engine
.
string_if_invalid
else
:
raise
...
...
django/templatetags/i18n.py
Dosyayı görüntüle @
47a131b9
...
...
@@ -149,7 +149,7 @@ class BlockTranslateNode(Node):
result
=
translation
.
pgettext
(
message_context
,
singular
)
else
:
result
=
translation
.
ugettext
(
singular
)
default_value
=
settings
.
TEMPLATE_STRING_IF_INVALID
default_value
=
context
.
engine
.
string_if_invalid
def
render_value
(
key
):
if
key
in
context
:
...
...
tests/template_tests/tests.py
Dosyayı görüntüle @
47a131b9
...
...
@@ -12,8 +12,7 @@ from django import template
from
django.conf
import
settings
from
django.contrib.auth.models
import
Group
from
django.core
import
urlresolvers
from
django.template
import
(
base
as
template_base
,
loader
,
Context
,
RequestContext
,
Template
,
TemplateSyntaxError
)
from
django.template
import
loader
,
Context
,
RequestContext
,
Template
,
TemplateSyntaxError
from
django.template.engine
import
Engine
from
django.template.loaders
import
app_directories
,
filesystem
from
django.test
import
RequestFactory
,
TestCase
...
...
@@ -550,14 +549,15 @@ class TemplateTests(TestCase):
failures
=
[]
tests
=
sorted
(
template_tests
.
items
())
# Set TEMPLATE_STRING_IF_INVALID to a known string.
expected_invalid_str
=
'INVALID'
# Warm the URL reversing cache. This ensures we don't pay the cost
# warming the cache during one of the tests.
urlresolvers
.
reverse
(
'named.client'
,
args
=
(
0
,))
for
name
,
vals
in
tests
:
# Set TEMPLATE_STRING_IF_INVALID to a known string.
expected_invalid_str
=
'INVALID'
if
isinstance
(
vals
[
2
],
tuple
):
normal_string_result
=
vals
[
2
][
0
]
invalid_string_result
=
vals
[
2
][
1
]
...
...
@@ -565,7 +565,6 @@ class TemplateTests(TestCase):
if
isinstance
(
invalid_string_result
,
tuple
):
expected_invalid_str
=
'INVALID
%
s'
invalid_string_result
=
invalid_string_result
[
0
]
%
invalid_string_result
[
1
]
template_base
.
invalid_var_format_string
=
True
try
:
template_debug_result
=
vals
[
2
][
2
]
...
...
@@ -622,10 +621,6 @@ class TemplateTests(TestCase):
Engine
.
get_default
()
.
template_loaders
[
0
]
.
reset
()
if
template_base
.
invalid_var_format_string
:
expected_invalid_str
=
'INVALID'
template_base
.
invalid_var_format_string
=
False
self
.
assertEqual
(
failures
,
[],
"Tests failed:
\n
%
s
\n
%
s"
%
(
'-'
*
70
,
(
"
\n
%
s
\n
"
%
(
'-'
*
70
))
.
join
(
failures
)))
...
...
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