From c0d8b121b8aebc099f7b21053ed6d8527d77d02b Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Tue, 14 Jul 2009 09:15:29 -0300 Subject: [PATCH] TextField: fixed type error bug with empty lists --- scrapy/contrib_exp/newitem/fields.py | 2 +- scrapy/tests/test_newitem.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/scrapy/contrib_exp/newitem/fields.py b/scrapy/contrib_exp/newitem/fields.py index 97f7efb54..66d7f9503 100644 --- a/scrapy/contrib_exp/newitem/fields.py +++ b/scrapy/contrib_exp/newitem/fields.py @@ -120,7 +120,7 @@ class TextField(BaseField): def to_single(self, value): """Converts the input iterable into a single value""" - return ' '.join((self.to_python(x) for x in value)) + return u' '.join((self.to_python(x) for x in value)) class TimeField(BaseField): diff --git a/scrapy/tests/test_newitem.py b/scrapy/tests/test_newitem.py index 95cced7a0..60faf2eb5 100644 --- a/scrapy/tests/test_newitem.py +++ b/scrapy/tests/test_newitem.py @@ -309,6 +309,11 @@ class NewItemFieldsTest(unittest.TestCase): self.assertRaises(TypeError, setattr, i, 'field', [u'hello', 3, u'world']) self.assertRaises(TypeError, setattr, i, 'field', [u'hello', 'world']) + i = TestItem() + i.field = [] + assert isinstance(i.field, unicode) + self.assertEqual(i.field, '') + def test_time_field(self): class TestItem(Item): field = fields.TimeField()