Просмотр исходного кода

Use six library to workaround against modules and attributes naming
differences between Python 2/3.

NeKit 9 лет назад
Родитель
Сommit
2bea4a829b

+ 2 - 2
misago/admin/views/generic/list.py

@@ -1,4 +1,4 @@
-from urllib import urlencode
+from six.moves.urllib.parse import urlencode
 
 from django.contrib import messages
 from django.core.paginator import EmptyPage, Paginator
@@ -106,7 +106,7 @@ class ListView(AdminView):
         return self.clean_filtering_data(form.cleaned_data)
 
     def clean_filtering_data(self, data):
-        for key, value in data.items():
+        for key, value in list(data.items()):
             if not value:
                 del data[key]
         return data

+ 1 - 1
misago/categories/models.py

@@ -1,4 +1,4 @@
-from urlparse import urlparse
+from six.moves.urllib.parse import urlparse
 
 from mptt.managers import TreeManager
 from mptt.models import MPTTModel, TreeForeignKey

+ 4 - 2
misago/conf/hydrators.py

@@ -1,5 +1,7 @@
+import six
+
 def hydrate_string(dry_value):
-    return unicode(dry_value) if dry_value else ''
+    return six.text_type(dry_value) if dry_value else ''
 
 
 def dehydrate_string(wet_value):
@@ -19,7 +21,7 @@ def hydrate_int(dry_value):
 
 
 def dehydrate_int(wet_value):
-    return unicode(wet_value)
+    return six.text_type(wet_value)
 
 
 def hydrate_list(dry_value):

+ 3 - 1
misago/core/shortcuts.py

@@ -3,6 +3,8 @@ from collections import OrderedDict
 from django.http import Http404
 from django.shortcuts import *  # noqa
 
+import six
+
 
 def paginate(object_list, page, per_page, orphans=0,
              allow_empty_first_page=True,
@@ -75,7 +77,7 @@ def validate_slug(model, slug):
 
 
 def get_int_or_404(value):
-    if unicode(value).isdigit():
+    if six.text_type(value).isdigit():
         return int(value)
     else:
         raise Http404()

+ 3 - 1
misago/core/utils.py

@@ -9,9 +9,11 @@ from django.utils import html, timezone
 from django.utils.translation import ugettext_lazy as _
 from django.utils.translation import ungettext_lazy
 
+import six
+
 
 def slugify(string):
-    string = unicode(string)
+    string = six.text_type(string)
     string = unidecode(string)
     return django_slugify(string.replace('_', ' ').strip())
 

+ 1 - 1
misago/users/avatars/gravatar.py

@@ -1,4 +1,4 @@
-from StringIO import StringIO
+from six import StringIO
 
 import requests
 from PIL import Image

+ 3 - 1
misago/users/views/lists.py

@@ -4,6 +4,8 @@ from django.core.urlresolvers import reverse
 from django.shortcuts import render as django_render
 from django.shortcuts import redirect
 
+import six
+
 from misago.core.shortcuts import get_object_or_404, paginate, pagination_dict
 from misago.core.utils import format_plaintext_for_html
 
@@ -22,7 +24,7 @@ def render(request, template, context):
     for page in context['pages']:
         page['reversed_link'] = reverse(page['link'])
         request.frontend_context['USERS_LISTS'].append({
-            'name': unicode(page['name']),
+            'name': six.text_type(page['name']),
             'component': page['component'],
         })