From a20c98d6d432d330cad1e128500fbb1e90dc19f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Ga=C5=82uszka?= Date: Mon, 29 Sep 2014 01:20:36 +0200 Subject: [PATCH] fixing next py3 problems... only 57 failing tests left. --- djadmin2/renderers.py | 5 +++-- djadmin2/tests/test_renderers.py | 6 +++++- djadmin2/tests/test_utils.py | 17 +++++++++++++---- djadmin2/views.py | 2 ++ 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/djadmin2/renderers.py b/djadmin2/renderers.py index a48c7e5..0ead56f 100644 --- a/djadmin2/renderers.py +++ b/djadmin2/renderers.py @@ -10,6 +10,7 @@ from datetime import date, time, datetime from django.db import models from django.utils import formats, timezone +from django.utils.encoding import force_text from django.template.loader import render_to_string from djadmin2 import settings @@ -60,10 +61,10 @@ def title_renderer(value, field): :type value: str or unicode :param field: The model field instance :type field: django.db.models.fields.Field - :rtype: unicode + :rtype: unicode or str """ - return unicode(value).title() + return force_text(value).title() def number_renderer(value, field): diff --git a/djadmin2/tests/test_renderers.py b/djadmin2/tests/test_renderers.py index 0d5ca81..c4231fd 100644 --- a/djadmin2/tests/test_renderers.py +++ b/djadmin2/tests/test_renderers.py @@ -7,6 +7,7 @@ from decimal import Decimal from django.test import TestCase from django.db import models from django.utils.translation import activate +from django.utils import six from .. import renderers @@ -105,7 +106,10 @@ class NumberRendererTest(TestCase): def testEndlessFloat(self): out = self.renderer(1.0/3, None) - self.assertEqual('0.333333333333', out) + if six.PY2: + self.assertEqual('0.333333333333', out) + else: + self.assertEqual('0.3333333333333333', out) def testPlainDecimal(self): number = '0.123456789123456789123456789' diff --git a/djadmin2/tests/test_utils.py b/djadmin2/tests/test_utils.py index 8020ee9..6c69d3e 100644 --- a/djadmin2/tests/test_utils.py +++ b/djadmin2/tests/test_utils.py @@ -1,5 +1,6 @@ from django.db import models from django.test import TestCase +from django.utils import six from .. import utils from ..views import IndexView @@ -154,10 +155,18 @@ class UtilsTest(TestCase): def __unicode__(self): return "unicode" - self.assertEquals( - utils.get_attr(Klass(), "__str__"), - "unicode" - ) + if six.PY2: + self.assertEquals( + utils.get_attr(Klass(), "__str__"), + "unicode" + ) + else: + self.assertEquals( + utils.get_attr(Klass(), "__str__"), + "str" + ) + + def test_get_attr(self): class Klass(object): diff --git a/djadmin2/views.py b/djadmin2/views.py index f6e2790..f460117 100644 --- a/djadmin2/views.py +++ b/djadmin2/views.py @@ -2,6 +2,8 @@ from __future__ import division, absolute_import, unicode_literals import operator +from functools import reduce + from datetime import datetime from django.conf import settings