From d8b85ae7ad19530a1cd8876271dfe5a2829d6b70 Mon Sep 17 00:00:00 2001 From: Ismael Carnales Date: Sun, 2 Aug 2009 18:43:35 -0300 Subject: [PATCH] moved MultiValuedField to ListField --- scrapy/newitem/fields.py | 6 ++---- scrapy/tests/test_itemadaptor.py | 10 +++++----- scrapy/tests/test_newitem.py | 8 ++++---- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/scrapy/newitem/fields.py b/scrapy/newitem/fields.py index c7870817f..6e123e2c8 100644 --- a/scrapy/newitem/fields.py +++ b/scrapy/newitem/fields.py @@ -18,10 +18,10 @@ class BaseField(object): return self._default -class MultiValuedField(BaseField): +class ListField(BaseField): def __init__(self, field_type, default=None): self._field = field_type() - super(MultiValuedField, self).__init__(default) + super(ListField, self).__init__(default) def to_python(self, value): if hasattr(value, '__iter__'): @@ -33,8 +33,6 @@ class MultiValuedField(BaseField): def from_unicode_list(self, unicode_list): return self.to_python(unicode_list) -# FIXME: temporary alias required for ItemExporters (to be removed on ListField merge) -ListField = MultiValuedField class BooleanField(BaseField): def to_python(self, value): diff --git a/scrapy/tests/test_itemadaptor.py b/scrapy/tests/test_itemadaptor.py index 48d3ebb92..ee829625a 100644 --- a/scrapy/tests/test_itemadaptor.py +++ b/scrapy/tests/test_itemadaptor.py @@ -29,12 +29,12 @@ class InheritDefaultAdaptor(DefaultedAdaptor): pass -class MultiValuedTestItem(Item): - names = fields.MultiValuedField(fields.TextField) +class ListFieldTestItem(Item): + names = fields.ListField(fields.TextField) -class MultiValuedItemAdaptor(ItemAdaptor): - item_class = MultiValuedTestItem +class ListFieldItemAdaptor(ItemAdaptor): + item_class = ListFieldTestItem names = adaptor(lambda v: v.title()) @@ -106,7 +106,7 @@ class ItemAdaptorTest(unittest.TestCase): # self.assertEqual(dia.name, u'MART') def test_multiplevaluedadaptor(self): - ma = MultiValuedItemAdaptor() + ma = ListFieldItemAdaptor() ma.names = [u'name1', u'name2'] assert ma.names == [u'Name1', u'Name2'] diff --git a/scrapy/tests/test_newitem.py b/scrapy/tests/test_newitem.py index 79c3326e7..b75389ed8 100644 --- a/scrapy/tests/test_newitem.py +++ b/scrapy/tests/test_newitem.py @@ -38,11 +38,11 @@ class NewItemTest(unittest.TestCase): self.assertRaises(TypeError, TestItem, name=set()) def test_multi(self): - class TestMultiItem(Item): + class TestListItem(Item): name = fields.TextField() - names = fields.MultiValuedField(fields.TextField) + names = fields.ListField(fields.TextField) - i = TestMultiItem() + i = TestListItem() i['name'] = u'name' i['names'] = [u'name1', u'name2'] self.assertEqual(i['names'], [u'name1', u'name2']) @@ -337,7 +337,7 @@ class NewItemFieldsTest(unittest.TestCase): self.assertEqual(field.from_unicode_list([]), u'') self.assertEqual(field.from_unicode_list([u'hello', u'world']), u'hello world') - field = fields.MultiValuedField(fields.TextField) + field = fields.ListField(fields.TextField) self.assertEqual(field.from_unicode_list([]), []) self.assertEqual(field.from_unicode_list([u'hello', u'world']), [u'hello', u'world'])