From 1e82be8fd0e132f08a6b22d364d8df1492c1c3cf Mon Sep 17 00:00:00 2001 From: aniversarioperu Date: Thu, 4 Sep 2014 07:02:27 +0300 Subject: [PATCH] fixed code and test for Python3 --- dataset/freeze/format/fcsv.py | 4 +++- setup.py | 3 ++- test/test_freeze.py | 8 +++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dataset/freeze/format/fcsv.py b/dataset/freeze/format/fcsv.py index 1d75ee4..eff3fb9 100644 --- a/dataset/freeze/format/fcsv.py +++ b/dataset/freeze/format/fcsv.py @@ -1,13 +1,15 @@ import csv from datetime import datetime +from six import PY3 + from dataset.freeze.format.common import Serializer def value_to_str(value): if isinstance(value, datetime): return value.isoformat() - if hasattr(value, 'encode'): + if not PY3 and hasattr(value, 'encode'): return value.encode('utf-8') if value is None: return '' diff --git a/setup.py b/setup.py index ba6ed1a..8b254d5 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,8 @@ setup( 'sqlalchemy >= 0.9.1', 'alembic >= 0.6.2', 'python-slugify >= 0.0.6', - "PyYAML >= 3.10" + "PyYAML >= 3.10", + "six >= 1.7.3" ] + py26_dependency, tests_require=[], test_suite='test', diff --git a/test/test_freeze.py b/test/test_freeze.py index 52c94c2..10b1bc8 100644 --- a/test/test_freeze.py +++ b/test/test_freeze.py @@ -1,5 +1,8 @@ # -*- encoding: utf-8 -*- import unittest + +from six import PY3 + from dataset.freeze.format.fcsv import value_to_str from .sample_data import TEST_DATA @@ -11,7 +14,10 @@ class FreezeTestCase(unittest.TestCase): assert '2011-01-01T00:00:00' == value_to_str(TEST_DATA[0]['date']) def test_value_to_str2(self): - assert 'hóla' == value_to_str(u'\u0068\u00f3\u006c\u0061') + if PY3: + assert 'hóla' == value_to_str('\u0068\u00f3\u006c\u0061') + else: + assert 'hóla' == value_to_str(u'\u0068\u00f3\u006c\u0061') def test_value_to_str3(self): assert '' == value_to_str(None)