adding to_list() util and test

--HG--
extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40898
This commit is contained in:
samus_ 2009-02-20 18:17:55 +00:00
parent 8d8a5c5caa
commit 9d5a1d77b6
2 changed files with 14 additions and 1 deletions

View File

@ -1,7 +1,7 @@
import unittest
from cStringIO import StringIO
from scrapy.utils.misc import hash_values, items_to_csv, load_object
from scrapy.utils.misc import hash_values, items_to_csv, load_object, to_list
from scrapy.core.exceptions import UsageError
from scrapy.item import ScrapedItem
@ -60,5 +60,10 @@ class UtilsMiscTestCase(unittest.TestCase):
obj = load_object('scrapy.utils.misc.load_object')
assert obj is load_object
def test_to_list(self):
self.assertEqual(to_list(None), [])
self.assertEqual(to_list('lala'), ['lala'])
self.assertEqual(to_list(('lala', 'poo')), ['lala', 'poo'])
if __name__ == "__main__":
unittest.main()

View File

@ -15,6 +15,14 @@ from scrapy.utils.python import flatten, unicode_to_str
from scrapy.utils.markup import remove_entities
from scrapy.utils.defer import defer_succeed
def to_list(obj):
if obj is None:
return []
elif hasattr(obj, '__iter__'):
return list(obj)
else:
return [obj]
def dict_updatedefault(D, E, **F):
"""
updatedefault(D, E, **F) -> None.