Tilmann Becker
c99ab335a1
[2.0.x] Fixed #28947 -- Fixed crash when coercing a translatable URL pattern to str.
...
Regression in df41b5a05d
.
Backport of 01384ce36c
from master
2017-12-20 20:56:57 -05:00
Andrei Fokau
a977ae9139
[2.0.x] Refs #28593 -- Updated old class names in comments following URL routing changes.
...
Backport of 3ae9c356c5
from master
2017-11-08 08:44:10 -05:00
Chris Lamb
518c11352c
[2.0.x] Fixed #28663 -- Add a check for likely incorrectly migrated django.urls.path() routes.
...
Backport of 998c9dd599
from master
2017-11-07 11:40:17 -05:00
Jon Dufresne
5091bb6a07
[2.0.x] Refs #27025 , #28593 -- Fixed "invalid escape sequence" warnings in urls/resolvers.py.
...
Backport of f0ffa3f4ea
from master
2017-09-30 20:33:18 -04:00
Mariusz Felisiak
c67dce911e
[2.0.x] Merged startswith() calls.
...
Backport of 00709d704e
from master
2017-09-25 09:18:44 -04:00
Daniel Tao
6f7279c4b1
Refs #28593 -- Made URLResolver._populate() more resilient to signal interrupts.
...
_populate() sets the populating attribute to prevent infinite recursion in
case a urlconf includes itself. The flag is a threadlocal to avoid a race
condition [1] where one thread sets the flag and another checks it, then
proceeds to access data that's supposed to be populated (e.g. _reverse_dict)
but isn't yet.
The potential still exists for a thread to set the threadlocal, then be
interrupted by a signal such as SIGALRM and raise before resetting the
threadlocal flag. In this scenario, subsequent calls to _populate() in the
same thread will short-circuit erroneously.
The bulk of the method was already wrapped in a try/finally in df41b5a
, but
since a signal interrupt can occur at any line executed by the interpreter,
this moves up the try to ensure threadlocal gets reset.
[1]: https://groups.google.com/d/msg/django-developers/D_bIeinKHjE/4NmVQUJqAgAJ
2017-09-22 10:16:05 -04:00
Sjoerd Job Postmus
df41b5a05d
Fixed #28593 -- Added a simplified URL routing syntax per DEP 0201.
...
Thanks Aymeric Augustin for shepherding the DEP and patch review.
Thanks Marten Kenbeek and Tim Graham for contributing to the code.
Thanks Tom Christie, Shai Berger, and Tim Graham for the docs.
2017-09-20 18:04:42 -04:00
Tim Graham
ee4043f735
Refs #28593 -- Moved django.conf.urls.include() to django.urls().
...
The old location remains for backwards compatibility. Documentation
will be updated separately along with the rest of the URL routing changes.
2017-09-13 16:32:03 -04:00
Tim Graham
6e4c6281db
Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."
...
This reverts commit 550cb3a365
because try/except performs better.
2017-09-07 08:16:21 -04:00
Sergey Fedoseev
38988f289f
Avoided creation of temporary sets.
2017-07-29 10:16:43 -04:00
Mads Jensen
550cb3a365
Fixed #27818 -- Replaced try/except/pass with contextlib.suppress().
2017-06-28 14:07:55 -04:00
Jon Dufresne
21046e7773
Fixed #28249 -- Removed unnecessary dict.keys() calls.
...
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Tom
7afb476469
Fixed #28226 -- Replaced use of str.join() with concatenation.
2017-05-27 13:59:05 -04:00
Claude Paroz
301de774c2
Refs #27795 -- Replaced many force_text() with str()
...
Thanks Tim Graham for the review.
2017-04-27 09:10:02 +02:00
Claude Paroz
c651331b34
Converted usage of ugettext* functions to their gettext* aliases
...
Thanks Tim Graham for the review.
2017-02-07 09:04:04 +01:00
Claude Paroz
fee42fd99e
Refs #23919 -- Replaced usage of django.utils.http utilities with Python equivalents
...
Thanks Tim Graham for the review.
2017-01-26 19:49:03 +01:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Claude Paroz
d2e7d15b4c
Assumed iri_to_uri always returns a string
...
Thanks Tim Graham for the review.
2017-01-23 19:59:33 +01:00
Mariusz Felisiak
c22212220a
Refs #23919 -- Removed re.U and re.UNICODE (default on Python 3).
2017-01-21 14:28:16 -05:00
Claude Paroz
042b7350a0
Refs #23919 -- Removed unneeded str() calls
2017-01-20 14:13:55 +01:00
Claude Paroz
dc8834cad4
Refs #23919 -- Removed unneeded force_str calls
2017-01-20 08:44:31 +01: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
3cc5f01d9b
Refs #23919 -- Stopped using django.utils.lru_cache().
2017-01-18 21:42:40 -05:00
Claude Paroz
2b281cc35e
Refs #23919 -- Removed most of remaining six usage
...
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
7b2f2e74ad
Refs #23919 -- Removed six.<various>_types usage
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz
c716fe8782
Refs #23919 -- Removed six.PY2/PY3 usage
...
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
Marten Kenbeek
1358a67bf9
Fixed #27713 -- Clarified NoReverseMatch error message when no view is found.
2017-01-11 21:40:18 -05:00
Carl Meyer
6e222dae56
Fixed #27453 -- Avoided unnecessary recompilation of non-translated URL regexes.
2016-11-14 18:58:23 -05:00
Ramin Farajpour Cami
967be82443
Fixed E305 flake8 warnings.
2016-11-14 12:30:46 -05:00
Lucas Lois
e7fa89fb58
Fixed #27262 -- Moved URL checks to resolver and pattern classes.
...
Thanks Sjoerd Job Postmus for the report and review.
2016-10-05 15:34:26 -04:00
Helen Sherwood-Taylor
bc1e2d8e8e
Fixed #27018 -- Fixed admindocs crash with a view in a class.
...
Generated correct admindocs URLs on Python 3. URLs generate 404s on
Python 2, as in older versions of Django.
2016-08-20 10:01:57 -04:00
Marten Kenbeek
389a5318a0
Fixed #26888 -- Fixed concurrency issue in URL resolver.
...
Fixed a regression in 625b8e9295d79650208bfb3fca8bf9e6aaf578e4:
improper short-circuiting could lead to a KeyError when threads
concurrently call RegexURLResolver._populate().
2016-07-14 14:41:52 -04:00
Tim Graham
4e400dcb79
Refs #22384 -- Readded RegexURLResolver.reverse().
...
It was removed in 785cc71d5b
only because
it was untested and unused in Django itself, however, some third-party
apps use it.
2016-06-20 14:22:27 -04:00
Markus Holtermann
625b8e9295
Fixed #24931 -- Made namespaced RegexURLResolvers populate callback strings.
...
Fixed a regression in 2f16ff5a6c
.
Thanks Tim Graham for the review.
2016-06-18 10:39:32 -04:00
Krzysztof Urbaniak
839a955d08
Fixed #25933 -- Allowed an unprefixed default language in i18n_patterns().
2016-03-08 08:14:10 -05:00
Claude Paroz
95ca01f999
Fixed #26271 -- Fixed i18n_patterns resolution when no language is active
...
Thanks Marten Kenbeek for the report.
2016-03-07 11:48:11 +01:00
Marten Kenbeek
beb9112a79
Removed unnecessary imports.
2016-01-23 15:11:05 +01:00
Yoong Kang Lim
7037dc5724
Removed unnecessary import in django/urls/base.py.
2016-01-23 07:33:59 -05:00
Grégory Starck
9f9921e89c
Fixed #26039 -- Unwrapped nested partials in URL reversal.
...
Prior to Python 3.5 nested partials need to be fully "unfolded"
to get the actual function.
2016-01-06 15:22:37 -05:00
Marten Kenbeek
16411b8400
Fixed #26013 -- Moved django.core.urlresolvers to django.urls.
...
Thanks to Tim Graham for the review.
2015-12-31 14:21:29 -05:00