mirror of https://github.com/scrapy/scrapy.git
renamed to_list function to arg_to_list, added docstring and one more test
--HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40939
This commit is contained in:
parent
10be9b695d
commit
ca22e332d1
|
|
@ -1,7 +1,7 @@
|
|||
import unittest
|
||||
from cStringIO import StringIO
|
||||
|
||||
from scrapy.utils.misc import hash_values, items_to_csv, load_object, to_list
|
||||
from scrapy.utils.misc import hash_values, items_to_csv, load_object, arg_to_list
|
||||
from scrapy.item import ScrapedItem
|
||||
|
||||
class UtilsMiscTestCase(unittest.TestCase):
|
||||
|
|
@ -61,10 +61,11 @@ class UtilsMiscTestCase(unittest.TestCase):
|
|||
self.assertRaises(ImportError, load_object, 'nomodule999.mod.function')
|
||||
self.assertRaises(NameError, load_object, 'scrapy.utils.misc.load_object999')
|
||||
|
||||
def test_to_list(self):
|
||||
self.assertEqual(to_list(None), [])
|
||||
self.assertEqual(to_list('lala'), ['lala'])
|
||||
self.assertEqual(to_list(('lala', 'poo')), ['lala', 'poo'])
|
||||
def test_arg_to_list(self):
|
||||
self.assertEqual(arg_to_list(None), [])
|
||||
self.assertEqual(arg_to_list('lala'), ['lala'])
|
||||
self.assertEqual(arg_to_list(100), [100])
|
||||
self.assertEqual(arg_to_list(('lala', 'poo')), ['lala', 'poo'])
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -14,13 +14,19 @@ 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:
|
||||
def arg_to_list(arg):
|
||||
"""Convert an argument to list, so that it can be iterated. The argument
|
||||
can be a None, single value, or an iterable.
|
||||
|
||||
This is meant to be used in functions for arguments which can be either
|
||||
None, single valued or multi-valued.
|
||||
"""
|
||||
if arg is None:
|
||||
return []
|
||||
elif hasattr(obj, '__iter__'):
|
||||
return list(obj)
|
||||
elif hasattr(arg, '__iter__'):
|
||||
return list(arg)
|
||||
else:
|
||||
return [obj]
|
||||
return [arg]
|
||||
|
||||
def dict_updatedefault(D, E, **F):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue