chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Tim Graham
632c4ffd9c
Refs #23919 -- Replaced errno checking with PEP 3151 exceptions.
2017-01-25 10:13:08 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Aymeric Augustin
a556396339
Refs #23919 -- Replaced io.open() with open().
...
io.open() is an alias for open() on Python 3.
2017-01-18 21:45:12 -05:00
Tim Graham
8377abd59e
Refs #25120 -- Removed template.loaders.eggs.Loader per deprecation timeline.
2017-01-17 20:52:00 -05:00
Tim Graham
5d8da093a9
Refs #15053 -- Removed support for non-recursive template loading.
...
Per deprecation timeline.
2017-01-17 20:52:00 -05:00
Tim Graham
92c5eeac33
Fixed #27598 -- Allowed specifying directories for a filesystem template loader.
...
Thanks Carl Meyer for review.
2016-12-14 10:33:51 -05:00
Simon Charette
207c5b4acd
Fixed #26603 -- Forced lazy template names to text when computing cache key.
...
Refs #26536 .
Thanks Sylvain Fankhauser for the very detailed report.
2016-05-10 10:03:01 -04:00
Simon Charette
bd145e7209
Fixed #26536 -- Preserved leading dashes of the cached template loader keys.
...
Thanks Anders Roos for the report.
2016-04-24 22:15:45 -04:00
Alex Hill
ecb59cc657
Fixed #26306 -- Fixed memory leak in cached template loader.
2016-03-16 12:37:57 -04:00
Ivan Tsouvarev
8890c533e0
Fixed #26280 -- Fixed cached template loader crash when loading nonexistent template.
2016-02-26 08:02:10 -05:00
Attila Tovt
0a2d3b7387
Fixed #25682 -- Removed bare except clauses.
2015-11-17 14:39:15 -05:00
Tim Graham
4811f09fa3
Removed template.loader.BaseLoader per deprecation timeline.
2015-09-23 19:31:11 -04:00
Tim Graham
5528e7da1a
Refs #24235 -- Removed unused is_usable attribute from base template Loader.
2015-09-05 10:58:23 -04:00
Tim Graham
1fed8dd715
Fixed #25120 -- Deprecated egg template loader.
2015-07-16 09:32:42 -04:00
Andriy Sokolovskiy
1d40204f82
Removed unnecessary return
2015-06-29 17:14:29 -04:00
Tim Graham
aaacaeb096
Renamed RemovedInDjangoXYWarnings for new roadmap.
...
Forwardport of ae1d663b79
from stable/1.8.x plus more.
2015-06-24 16:08:20 -04:00
Tim Graham
3872a33132
Fixed #24979 -- Removed usage of inspect.getargspec().
2015-06-15 13:43:22 -04:00
Preston Timmons
d17a035132
Moved engine-related exceptions to django.template.exceptions.
...
With the introduction of multiple template engines these exceptions are no
longer DTL-specific. It makes more sense for them to be moved out of
DTL-related modules.
2015-05-06 17:33:47 -05:00
Preston Timmons
fc21471526
Fixed #15053 -- Enabled recursive template loading.
2015-04-22 14:49:00 -05:00
Preston Timmons
70123cf084
Fixed #24399 -- Made filesystem loaders use more specific exceptions.
2015-03-03 21:20:46 +01:00
Preston Timmons
80d6b6b863
Fixed #24409 -- Combined the app_directories and filesystem loader implementation.
...
Besides the directories they look in, these two loaders are functionally
the same. This removes unnecessary code duplication between the two.
2015-03-02 07:53:58 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Preston Timmons
5bc5ddd8b5
Fixed #24235 -- Removed is_usable attribute from template loaders.
2015-02-04 07:47:28 -05:00
Aymeric Augustin
f9a6ebf6f5
Removed extraneous arguments in Engine.from_string.
...
This aligns the Django Template Engine API with the common template
backend API.
2014-12-28 16:23:02 +01:00
Aymeric Augustin
24dffaf0cb
Removed some uses of global APIs from django.template.loader.
2014-12-28 16:23:00 +01:00
Aymeric Augustin
246cfdeae3
Moved make_origin into the Engine class.
2014-11-23 11:52:45 +01:00
Aymeric Augustin
a2dd08666c
Removed dependency of template loaders on Django settings.
2014-11-23 11:52:14 +01:00
Aymeric Augustin
29a977ab14
Moved template loaders management in Engine.
...
Passed the engine instance to loaders. This is a prerequisite for
looking up configuration on the engine instance instead of global
settings.
This is backwards incompatible for custom template loaders that override
__init__. However the documentation doesn't talk about __init__ and the
way to pass arguments to custom template loaders isn't specified. I'm
considering it a private API.
2014-11-23 11:52:12 +01:00
Aymeric Augustin
544a716da8
Removed unused API get_template_loaders.
...
It was introduced in a recent refactoring so this isn't an issue.
Then renamed _get_template_loaders to get_template_loaders.
2014-11-23 11:51:31 +01:00
Aymeric Augustin
fab26cf5e0
Removed support for function-based template loaders.
...
They were deprecated in Django 1.2 but not all the supporting code was
removed in Django 1.4. Since the remaining code was unlikely to be
functional (pun intended) e.g. it would crash unless the loader
function had an is_usable attribute, this commit completes the removal
immediately instead of starting another deprecation path.
2014-11-16 22:18:33 +01:00
Aymeric Augustin
e87bee6f50
Used get_template_loaders in the cached loader.
...
This ensures that enabling the cached loader doesn't change behavior.
(Before this commit, it did when the list contained unusable loaders.)
2014-11-16 21:41:44 +01:00
Aymeric Augustin
9eeb788cfb
Refactored getting the list of template loaders.
...
This provides the opportunity to move utility functions specific to the
Django Template Language outside of django.template.loader.
2014-11-16 21:41:44 +01:00
Aymeric Augustin
d58597a7b8
Refactored listing template subdirectories in apps.
...
This change has the nice side effect of removing code that ran at import
time and depended on the app registry at module level -- a notorious
cause of AppRegistryNotReady exceptions.
2014-11-16 21:28:43 +01:00
Aymeric Augustin
cd7146debe
Removed skip_template argument of locmem.Loader.load_template_source.
...
It didn't do anything, wasn't documented and wasn't used anywhere.
2014-11-16 21:28:37 +01:00
Aymeric Augustin
c211c59b4a
Removed the "test:" prefix from locmem template identifiers.
...
Since it isn't branded as a test utility any more and could be used for
other purposes than test code, that prefix no longer makes sense.
It wasn't used anywhere either.
2014-11-16 21:28:31 +01:00
Aymeric Augustin
2577ae6a08
Moved all template loaders under django.template.loaders.
...
Reformatted the code of base.Loader according to modern standards.
Turned the test template loader into a regular locmem.Loader -- but
didn't document it.
Added a normal deprecation path for BaseLoader which is a public API.
Added an accelerated deprecation path for TestTemplateLoader which is
a private API.
2014-11-16 21:28:26 +01:00
Aymeric Augustin
3bc7a14ea5
Normalized opening a file and decoding its content.
...
`io.open` is required on Python 2.7. Just `open` would work on Python 3.
2014-11-11 22:54:27 +01:00
Aymeric Augustin
b8ba73cd0c
Raised SuspiciousFileOperation in safe_join.
...
Added a test for the condition safe_join is designed to prevent.
Previously, a generic ValueError was raised. It was impossible to tell
an intentional exception raised to implement safe_join's contract from
an unintentional exception caused by incorrect inputs or unexpected
conditions. That resulted in bizarre exception catching patterns, which
this patch removes.
Since safe_join is a private API and since the change is unlikely to
create security issues for users who use it anyway -- at worst, an
uncaught SuspiciousFileOperation exception will bubble up -- it isn't
documented.
2014-11-11 19:05:14 +01:00
Florian Apolloner
f00243f36d
Don't try to load app directory templates from apps with a path (eg eggs)
2013-12-27 11:42:24 +01:00
Florian Apolloner
6aa1a31660
Properly app_template_dirs when INSTALLED_APPS change.
2013-12-27 11:17:25 +01:00
Aymeric Augustin
1716b7ce5a
Renamed AppCache to Apps.
...
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00
Aymeric Augustin
2fef9e5375
Moved apps back in the toplevel django namespace.
...
Reverted 4a56a93cc4
.
2013-12-22 11:39:55 +01:00
Aymeric Augustin
65cd74be8e
Stopped iterating on INSTALLED_APPS.
...
Used the app cache's get_app_configs() method instead.
2013-12-22 11:39:18 +01:00
Pablo Martín
3ac823fc5b
Fixed #21460 -- Reenabled proper template precedence in find_template
...
Refs #20806 . Thanks Unai Zalakain for the review.
2013-11-22 11:09:51 +01:00
Alex Gaynor
fe995e6cbd
Fixed the remaining E302 violations int eh django package
2013-11-02 17:37:15 -07:00
Aymeric Augustin
365c3e8b73
Replaced "not PY3" by "PY2", new in six 1.4.0.
2013-09-02 12:11:02 +02:00
Ramiro Morales
b785a80d19
Added further fixes, tests for #19949/f33db5a09a.
...
Thanks Susan Tan. Refs #19949 .
2013-08-26 08:47:24 -03:00
SusanTan
f33db5a09a
Fixed 19949 -- Cached template loader now caches TemplateDoesNotExist
...
Thanks @timgraham and @jdunck for the code reviews and Kronuz for bug
report and initial patch.
2013-08-24 09:19:55 -04:00
Gavin Wahl
5154c9f92c
Fixed #20806 -- Cached loader caches find_template
...
The cached template loader should cache find_template in addition to
load_template.
2013-07-30 14:25:30 -04:00