Skip to content

Commit de3976b

Browse files
committed
Merged in Django 1.9 upgrade work from ^/personal/henrik/6.41.1-django-1.9
- Legacy-Id: 12764
2 parents 70d4ef3 + 40e8380 commit de3976b

198 files changed

Lines changed: 16074 additions & 1351 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ietf/api/__init__.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,29 +47,29 @@ def to_html(self, data, options=None):
4747
available to a browser. This is on the TODO list but not currently
4848
implemented.
4949
"""
50-
from django.template.loader import render_to_string as render
50+
from django.template.loader import render_to_string
5151

5252
options = options or {}
5353

5454
serialized = self.to_simple_html(data, options)
55-
return render("api/base.html", {"data": serialized})
55+
return render_to_string("api/base.html", {"data": serialized})
5656

5757
def to_simple_html(self, data, options):
5858
"""
5959
"""
60-
from django.template.loader import render_to_string as render
60+
from django.template.loader import render_to_string
6161
#
6262
if isinstance(data, (list, tuple)):
63-
return render("api/listitem.html", {"data": [self.to_simple_html(item, options) for item in data]})
63+
return render_to_string("api/listitem.html", {"data": [self.to_simple_html(item, options) for item in data]})
6464
if isinstance(data, dict):
65-
return render("api/dictitem.html", {"data": dict((key, self.to_simple_html(val, options)) for (key, val) in data.items())})
65+
return render_to_string("api/dictitem.html", {"data": dict((key, self.to_simple_html(val, options)) for (key, val) in data.items())})
6666
elif isinstance(data, Bundle):
67-
return render("api/dictitem.html", {"data":dict((key, self.to_simple_html(val, options)) for (key, val) in data.data.items())})
67+
return render_to_string("api/dictitem.html", {"data":dict((key, self.to_simple_html(val, options)) for (key, val) in data.data.items())})
6868
elif hasattr(data, 'dehydrated_type'):
6969
if getattr(data, 'dehydrated_type', None) == 'related' and data.is_m2m == False:
70-
return render("api/relitem.html", {"fk": data.fk_resource, "val": self.to_simple_html(data.value, options)})
70+
return render_to_string("api/relitem.html", {"fk": data.fk_resource, "val": self.to_simple_html(data.value, options)})
7171
elif getattr(data, 'dehydrated_type', None) == 'related' and data.is_m2m == True:
72-
render("api/listitem.html", {"data": [self.to_simple_html(bundle, options) for bundle in data.m2m_bundles]})
72+
render_to_string("api/listitem.html", {"data": [self.to_simple_html(bundle, options) for bundle in data.m2m_bundles]})
7373
else:
7474
return self.to_simple_html(data.value, options)
7575
elif isinstance(data, datetime.datetime):
@@ -85,7 +85,7 @@ def to_simple_html(self, data, options):
8585
elif data is None:
8686
return None
8787
elif isinstance(data, basestring) and data.startswith("/api/v1/"): # XXX Will not work for Python 3
88-
return render("api/relitem.html", {"fk": data, "val": data.split('/')[-2]})
88+
return render_to_string("api/relitem.html", {"fk": data, "val": data.split('/')[-2]})
8989
else:
9090
return force_text(data)
9191

ietf/community/urls.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
from django.conf.urls import patterns, url
1+
from django.conf.urls import url
22

33

4-
urlpatterns = patterns('',
4+
urlpatterns = [
55
url(r'^personal/(?P<username>[^/]+)/$', 'ietf.community.views.view_list'),
66
url(r'^personal/(?P<username>[^/]+)/manage/$', 'ietf.community.views.manage_list'),
77
url(r'^personal/(?P<username>[^/]+)/trackdocument/(?P<name>[^/]+)/$', 'ietf.community.views.track_document'),
88
url(r'^personal/(?P<username>[^/]+)/untrackdocument/(?P<name>[^/]+)/$', 'ietf.community.views.untrack_document'),
99
url(r'^personal/(?P<username>[^/]+)/csv/$', 'ietf.community.views.export_to_csv'),
1010
url(r'^personal/(?P<username>[^/]+)/feed/$', 'ietf.community.views.feed'),
1111
url(r'^personal/(?P<username>[^/]+)/subscription/$', 'ietf.community.views.subscription'),
12-
13-
)
12+
]

ietf/cookies/urls.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Copyright The IETF Trust 2010, All Rights Reserved
22

3-
from django.conf.urls import patterns
3+
from django.conf.urls import url
44
from ietf.cookies import views
55

6-
urlpatterns = patterns('',
7-
(r'^$', views.preferences),
8-
(r'^new_enough/(?P<days>.+)$', views.new_enough),
9-
(r'^new_enough/', views.new_enough),
10-
(r'^expires_soon/(?P<days>.+)$', views.expires_soon),
11-
(r'^expires_soon/', views.expires_soon),
12-
(r'^full_draft/(?P<enabled>.+)$', views.full_draft),
13-
(r'^full_draft/', views.full_draft),
14-
(r'^left_menu/(?P<enabled>.+)$', views.left_menu),
15-
(r'^left_menu/', views.left_menu),
16-
)
6+
urlpatterns = [
7+
url(r'^$', views.preferences),
8+
url(r'^new_enough/(?P<days>.+)$', views.new_enough),
9+
url(r'^new_enough/', views.new_enough),
10+
url(r'^expires_soon/(?P<days>.+)$', views.expires_soon),
11+
url(r'^expires_soon/', views.expires_soon),
12+
url(r'^full_draft/(?P<enabled>.+)$', views.full_draft),
13+
url(r'^full_draft/', views.full_draft),
14+
url(r'^left_menu/(?P<enabled>.+)$', views.left_menu),
15+
url(r'^left_menu/', views.left_menu),
16+
]

ietf/cookies/views.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Copyright The IETF Trust 2010, All Rights Reserved
22

3-
from django.shortcuts import render_to_response as render
4-
from django.template import RequestContext
3+
from django.shortcuts import render
54
from django.conf import settings
65

76
import debug # pyflakes:ignore
@@ -32,7 +31,7 @@ def preferences(request, **kwargs):
3231
preferences[key] = settings.USER_PREFERENCE_DEFAULTS[key]
3332
del_cookies += [key]
3433
request.COOKIES.update(preferences)
35-
response = render("cookies/settings.html", preferences, context_instance=RequestContext(request))
34+
response = render(request, "cookies/settings.html", preferences )
3635
for key in new_cookies:
3736
response.set_cookie(key, new_cookies[key], settings.PREFERENCES_COOKIE_AGE)
3837
for key in del_cookies:

ietf/dbtemplate/template.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
from docutils.utils import SystemMessage
55
import debug # pyflakes:ignore
66

7-
from django.template.base import Template as DjangoTemplate, TemplateDoesNotExist, TemplateEncodingError
8-
from django.template.loader import BaseLoader
7+
from django.template import loaders
8+
from django.template.base import Template as DjangoTemplate, TemplateEncodingError
9+
from django.template.exceptions import TemplateDoesNotExist
910
from django.utils.encoding import smart_unicode
1011

1112
from ietf.dbtemplate.models import DBTemplate
@@ -60,9 +61,9 @@ def render(self, context):
6061
e.args = tuple(args)
6162
raise e
6263

63-
class Loader(BaseLoader):
64-
def __init__(self, *args, **kwargs):
65-
super(Loader, self).__init__(self, *args, **kwargs)
64+
class Loader(loaders.base.Loader):
65+
def __init__(self, engine):
66+
super(Loader, self).__init__(engine)
6667
self.is_usable = True
6768

6869
def load_template(self, template_name, template_dirs=None):
@@ -77,7 +78,7 @@ def load_template(self, template_name, template_dirs=None):
7778
raise TemplateDoesNotExist(template_name)
7879

7980

80-
_loader = Loader()
81+
_loader = Loader(engine='django')
8182

8283

8384
def load_template_source(template_name, template_dirs=None):

ietf/dbtemplate/urls.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from django.conf.urls import patterns, url
1+
from django.conf.urls import url
22

33

4-
urlpatterns = patterns('ietf.dbtemplate.views',
5-
url(r'^(?P<acronym>[-a-z0-9]+)/$', 'template_list', name='template_list'),
6-
url(r'^(?P<acronym>[-a-z0-9]+)/(?P<template_id>[\d]+)/$', 'template_edit', name='template_edit'),
7-
)
4+
urlpatterns = [
5+
url(r'^(?P<acronym>[-a-z0-9]+)/$', 'ietf.dbtemplate.views.template_list', name='template_list'),
6+
url(r'^(?P<acronym>[-a-z0-9]+)/(?P<template_id>[\d]+)/$', 'ietf.dbtemplate.views.template_edit', name='template_edit'),
7+
]

ietf/doc/admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def clean(self, value):
8181
class DocumentForm(forms.ModelForm):
8282
states = StatesField(queryset=State.objects.all(), required=False)
8383
comment_about_changes = forms.CharField(
84-
widget=forms.Textarea(attrs={'rows':10,'cols':40,'class':'vLargeTextField'}),
84+
widget=forms.Textarea(attrs={'rows':10,'cols':40,'class':'vLargeTextField'}), strip=False,
8585
help_text="This comment about the changes made will be saved in the document history.")
8686

8787
def __init__(self, *args, **kwargs):

ietf/doc/redirect_drafts_urls.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
# Copyright The IETF Trust 2007, All Rights Reserved
22

3-
from django.conf.urls import patterns
3+
from django.conf.urls import url
44
from django.views.generic import RedirectView
55
from django.http import HttpResponsePermanentRedirect
66
from django.shortcuts import get_object_or_404
77

88
from ietf.group.models import Group
99

10-
urlpatterns = patterns('',
11-
(r'^$', RedirectView.as_view(url='/doc/', permanent=True)),
12-
(r'^all/$', RedirectView.as_view(url='/doc/all/', permanent=True)),
13-
(r'^rfc/$', RedirectView.as_view(url='/doc/all/#rfc', permanent=True)),
14-
(r'^dead/$', RedirectView.as_view(url='/doc/all/#expired', permanent=True)),
15-
(r'^current/$', RedirectView.as_view(url='/doc/active/', permanent=True)),
16-
(r'^(?P<object_id>\d+)/(related/)?$', RedirectView.as_view(url='/doc/', permanent=True)),
17-
(r'^(?P<name>[^/]+)/(related/)?$', RedirectView.as_view(url='/doc/%(name)s/', permanent=True)),
18-
(r'^wgid/(?P<id>\d+)/$', lambda request, id: HttpResponsePermanentRedirect("/wg/%s/" % get_object_or_404(Group, id=id).acronym)),
19-
(r'^wg/(?P<acronym>[^/]+)/$', RedirectView.as_view(url='/wg/%(acronym)s/', permanent=True)),
20-
(r'^all_id(?:_txt)?.html$', RedirectView.as_view(url='https://www.ietf.org/id/all_id.txt', permanent=True)),
21-
)
10+
urlpatterns = [
11+
url(r'^$', RedirectView.as_view(url='/doc/', permanent=True)),
12+
url(r'^all/$', RedirectView.as_view(url='/doc/all/', permanent=True)),
13+
url(r'^rfc/$', RedirectView.as_view(url='/doc/all/#rfc', permanent=True)),
14+
url(r'^dead/$', RedirectView.as_view(url='/doc/all/#expired', permanent=True)),
15+
url(r'^current/$', RedirectView.as_view(url='/doc/active/', permanent=True)),
16+
url(r'^(?P<object_id>\d+)/(related/)?$', RedirectView.as_view(url='/doc/', permanent=True)),
17+
url(r'^(?P<name>[^/]+)/(related/)?$', RedirectView.as_view(url='/doc/%(name)s/', permanent=True)),
18+
url(r'^wgid/(?P<id>\d+)/$', lambda request, id: HttpResponsePermanentRedirect("/wg/%s/" % get_object_or_404(Group, id=id).acronym)),
19+
url(r'^wg/(?P<acronym>[^/]+)/$', RedirectView.as_view(url='/wg/%(acronym)s/', permanent=True)),
20+
url(r'^all_id(?:_txt)?.html$', RedirectView.as_view(url='https://www.ietf.org/id/all_id.txt', permanent=True)),
21+
]
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
from django.conf.urls import patterns
1+
from django.conf.urls import url
22
from django.views.generic import RedirectView
33

4-
urlpatterns = patterns('',
5-
(r'^help/(?:sub)?state/(?:\d+/)?$', RedirectView.as_view(url='/doc/help/state/draft-iesg/', permanent=True)),
6-
(r'^help/evaluation/$', RedirectView.as_view(url='https://www.ietf.org/iesg/voting-procedures.html', permanent=True)),
7-
(r'^status/$', RedirectView.as_view(url='/doc/iesg/', permanent=True)),
8-
(r'^status/last-call/$', RedirectView.as_view(url='/doc/iesg/last-call/', permanent=True)),
9-
(r'^rfc0*(?P<rfc_number>\d+)/$', RedirectView.as_view(url='/doc/rfc%(rfc_number)s/', permanent=True)),
10-
(r'^(?P<name>[^/]+)/$', RedirectView.as_view(url='/doc/%(name)s/', permanent=True)),
11-
(r'^(?P<name>[^/]+)/comment/\d+/$', RedirectView.as_view(url='/doc/%(name)s/history/', permanent=True)),
12-
(r'^$', RedirectView.as_view(url='/doc/', permanent=True)),
13-
)
4+
urlpatterns = [
5+
url(r'^help/(?:sub)?state/(?:\d+/)?$', RedirectView.as_view(url='/doc/help/state/draft-iesg/', permanent=True)),
6+
url(r'^help/evaluation/$', RedirectView.as_view(url='https://www.ietf.org/iesg/voting-procedures.html', permanent=True)),
7+
url(r'^status/$', RedirectView.as_view(url='/doc/iesg/', permanent=True)),
8+
url(r'^status/last-call/$', RedirectView.as_view(url='/doc/iesg/last-call/', permanent=True)),
9+
url(r'^rfc0*(?P<rfc_number>\d+)/$', RedirectView.as_view(url='/doc/rfc%(rfc_number)s/', permanent=True)),
10+
url(r'^(?P<name>[^/]+)/$', RedirectView.as_view(url='/doc/%(name)s/', permanent=True)),
11+
url(r'^(?P<name>[^/]+)/comment/\d+/$', RedirectView.as_view(url='/doc/%(name)s/history/', permanent=True)),
12+
url(r'^$', RedirectView.as_view(url='/doc/', permanent=True)),
13+
]

ietf/doc/tests_status_change.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,6 @@ def test_initial_submission(self):
417417
self.assertEqual(doc.rev,u'00')
418418
with open(path) as f:
419419
self.assertEqual(f.read(),"Some initial review text\n")
420-
f.close()
421420
self.assertTrue( "mid-review-00" in doc.latest_event(NewRevisionDocEvent).desc)
422421

423422
def test_subsequent_submission(self):

0 commit comments

Comments
 (0)