1
0
mirror of https://github.com/django/django.git synced 2024-12-27 19:46:22 +00:00

[1.8.x] Fixed #24221 - Used precompiled regexp for percent-placeholder matching.

Backport of ea0ea7859a from master
This commit is contained in:
Tomáš Ehrlich 2015-01-26 11:23:48 +01:00 committed by Tim Graham
parent 09e8985f25
commit 2d990fb7fa

View File

@ -12,6 +12,8 @@ from django.views.generic.base import TemplateResponseMixin, ContextMixin, View
from django.views.generic.detail import (SingleObjectMixin,
SingleObjectTemplateResponseMixin, BaseDetailView)
PERCENT_PLACEHOLDER_REGEX = re.compile(r'%\([^\)]+\)') # RemovedInDjango20Warning
class FormMixinBase(type):
def __new__(cls, name, bases, attrs):
@ -163,7 +165,7 @@ class ModelFormMixin(FormMixin, SingleObjectMixin):
Returns the supplied URL.
"""
if self.success_url:
if re.search(r'%\([^\)]+\)', self.success_url):
if PERCENT_PLACEHOLDER_REGEX.search(self.success_url):
warnings.warn(
"%()s placeholder style in success_url is deprecated. "
"Please replace them by the {} Python format syntax.",
@ -297,7 +299,7 @@ class DeletionMixin(object):
def get_success_url(self):
if self.success_url:
if re.search(r'%\([^\)]+\)', self.success_url):
if PERCENT_PLACEHOLDER_REGEX.search(self.success_url):
warnings.warn(
"%()s placeholder style in success_url is deprecated. "
"Please replace them by the {} Python format syntax.",