File: python3-compat.patch

package info (click to toggle)
python-coffin 0.3.8-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 564 kB
  • ctags: 389
  • sloc: python: 1,567; makefile: 101
file content (173 lines) | stat: -rw-r--r-- 6,865 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
Description: Numerous fixes to provide Python3 support
 This patch provides Python 3 compat.
Author: Thomas Goirand <zigo@debian.org>
Forwarded: no
Last-Update: 2014-08-12

--- python-coffin-0.3.8.orig/tests/test_defaultfilters.py
+++ python-coffin-0.3.8/tests/test_defaultfilters.py
@@ -72,8 +72,8 @@ def test_floatformat():
 
 def test_date_stuff():
     from coffin.common import env
-    assert r('a{{ d|date("Y") }}b', {'d': date(2007, 01, 01)}) == 'a2007b'
-    assert r('a{{ d|time("H") }}b', {'d': datetime(2007, 01, 01, 12, 01, 01)}) == 'a12b'
+    assert r('a{{ d|date("Y") }}b', {'d': date(2007, 1, 1)}) == 'a2007b'
+    assert r('a{{ d|time("H") }}b', {'d': datetime(2007, 1, 1, 12, 1, 1)}) == 'a12b'
     # TODO: timesince, timeuntil
 
     # Make sure the date filters can handle unset values gracefully.
--- python-coffin-0.3.8.orig/tests/test_defaultags.py
+++ python-coffin-0.3.8/tests/test_defaultags.py
@@ -70,14 +70,14 @@ def test_url():
         ('{% url urls_app.views.index as url %}{{url}}', {}, '/url_test/'),
         ('{% url inexistent as url %}{{ url }}', {}, ''),    # no exception
     ):
-        print template, '==', expected_result
+        print(template, '==', expected_result)
         try:
             actual_result = env.from_string(template).render(context)
-        except Exception, e:
-            print '==> %s: (%s)' % (type(e), e)
+        except Exception as e:
+            print('==> %s: (%s)' % (type(e), e))
             assert type(e) == expected_result
         else:
-            print '==> %s' % actual_result
+            print('==> %s' % actual_result)
             assert actual_result == expected_result
 
 
--- python-coffin-0.3.8.orig/coffin/contrib/auth/views.py
+++ python-coffin-0.3.8/coffin/contrib/auth/views.py
@@ -8,14 +8,14 @@ from django.contrib.auth.views import *
 from coffin.shortcuts import render_to_response
 from coffin.template import RequestContext, loader
 
-exec inspect.getsource(logout)
-exec inspect.getsource(password_change_done)
-exec inspect.getsource(password_reset)
-exec inspect.getsource(password_reset_confirm)
-exec inspect.getsource(password_reset_done)
-exec inspect.getsource(password_reset_complete)
+exec(inspect.getsource(logout))
+exec(inspect.getsource(password_change_done))
+exec(inspect.getsource(password_reset))
+exec(inspect.getsource(password_reset_confirm))
+exec(inspect.getsource(password_reset_done))
+exec(inspect.getsource(password_reset_complete))
 
-exec inspect.getsource(password_change.view_func)
+exec(inspect.getsource(password_change.view_func))
 password_change = login_required(password_change)
 
 # XXX: this function uses a decorator, which calls functools.wraps, which compiles the code
--- python-coffin-0.3.8.orig/coffin/contrib/auth/urls.py
+++ python-coffin-0.3.8/coffin/contrib/auth/urls.py
@@ -2,5 +2,5 @@ import inspect
 
 from django.contrib.auth import urls
 
-exec inspect.getsource(urlpatterns)\
-        .replace('django.contrib.auth.views', 'coffin.contrib.auth.views')
\ No newline at end of file
+exec(inspect.getsource(urlpatterns)\
+        .replace('django.contrib.auth.views', 'coffin.contrib.auth.views'))
\ No newline at end of file
--- python-coffin-0.3.8.orig/coffin/contrib/flatpages/middleware.py
+++ python-coffin-0.3.8/coffin/contrib/flatpages/middleware.py
@@ -3,4 +3,5 @@ import inspect
 from django.contrib.flatpages.middleware import *
 from coffin.contrib.flatpages.views import flatpage
 
-exec inspect.getsource(FlatpageFallbackMiddleware)\
+exec(inspect.getsource(FlatpageFallbackMiddleware)\
+)
\ No newline at end of file
--- python-coffin-0.3.8.orig/coffin/template/defaultfilters.py
+++ python-coffin-0.3.8/coffin/template/defaultfilters.py
@@ -12,6 +12,8 @@ from jinja2.runtime import Undefined
 # from jinja2 import Markup
 from jinja2 import filters
 
+import six
+
 register = Library()
 
 def url(view_name, *args, **kwargs):
@@ -26,14 +28,14 @@ register.object(url)
 @register.jinja2_filter(jinja2_only=True)
 def timesince(value, *arg):
     if value is None or isinstance(value, Undefined):
-        return u''
+        return six.u('')
     from django.utils.timesince import timesince
     return timesince(value, *arg)
 
 @register.jinja2_filter(jinja2_only=True)
 def timeuntil(value, *args):
     if value is None or isinstance(value, Undefined):
-        return u''
+        return six.u('')
     from django.utils.timesince import timeuntil
     return timeuntil(value, *args)
 
@@ -41,7 +43,7 @@ def timeuntil(value, *args):
 def date(value, arg=None):
     """Formats a date according to the given format."""
     if value is None or isinstance(value, Undefined):
-        return u''
+        return six.u('')
     from django.conf import settings
     from django.utils import formats
     from django.utils.dateformat import format
@@ -59,7 +61,7 @@ def date(value, arg=None):
 def time(value, arg=None):
     """Formats a time according to the given format."""
     if value is None or isinstance(value, Undefined):
-        return u''
+        return six.u('')
     from django.conf import settings
     from django.utils import formats
     from django.utils.dateformat import time_format
@@ -122,7 +124,7 @@ def floatformat(value, arg=-1):
     return result
 
 @register.jinja2_filter(jinja2_only=True)
-def default(value, default_value=u'', boolean=True):
+def default(value, default_value=six.u(''), boolean=True):
     """Make the default filter, if used without arguments, behave like
     Django's own version.
     """
--- python-coffin-0.3.8.orig/coffin/template/defaulttags.py
+++ python-coffin-0.3.8/coffin/template/defaulttags.py
@@ -1,10 +1,11 @@
-from jinja2 import nodes
+from jinja2 import nodes
 from jinja2.ext import Extension
 from jinja2.exceptions import TemplateSyntaxError
 from jinja2 import Markup
 from django.conf import settings
 from coffin.template import Library
 
+import six
 
 class LoadExtension(Extension):
     """The load-tag is a no-op in Coffin. Instead, all template libraries
@@ -337,7 +338,7 @@ class CacheExtension(Extension):
             raise TemplateSyntaxError('"%s" tag got a non-integer timeout '
                 'value: %r' % (list(self.tags)[0], expire_time), lineno)
 
-        args_string = u':'.join([urlquote(v) for v in vary_on])
+        args_string = six.u(':').join([urlquote(v) for v in vary_on])
         args_md5 = md5_constructor(args_string)
         cache_key = 'template.cache.%s.%s' % (fragm_name, args_md5.hexdigest())
         value = cache.get(cache_key)
--- python-coffin-0.3.8.orig/coffin/views/generic/simple.py
+++ python-coffin-0.3.8/coffin/views/generic/simple.py
@@ -3,4 +3,4 @@ import inspect
 from django.views.generic.simple import *
 from coffin.template import loader, RequestContext
 
-exec inspect.getsource(direct_to_template)
+exec(inspect.getsource(direct_to_template))