handle bands 10, 11, and QA #90

This commit is contained in:
Scisco
2015-06-29 18:55:31 -04:00
parent 515cd1ae23
commit ba2ba6c080
2 changed files with 18 additions and 12 deletions

View File

@@ -92,18 +92,24 @@ class TestUtils(unittest.TestCase):
def test_convert_to_integer_list(self):
# correct input
r = utils.convert_to_integer_list('1,2,3')
self.assertEqual(['1', '2', '3'], r)
self.assertEqual([1, 2, 3], r)
# try other cobinations
r = utils.convert_to_integer_list('1, 2, 3')
self.assertEqual(['1', '2', '3'], r)
self.assertEqual([1, 2, 3], r)
r = utils.convert_to_integer_list('1s,2df,3d/')
self.assertEqual(['1', '2', '3'], r)
self.assertEqual([1, 2, 3], r)
r = utils.convert_to_integer_list([1, 3, 4])
self.assertEqual([1, 3, 4], r)
r = utils.convert_to_integer_list('1,11,10')
self.assertEqual([1, 11, 10], r)
r = utils.convert_to_integer_list('1,11,10,QA')
self.assertEqual([1, 11, 10, 'QA'], r)
if __name__ == '__main__':
unittest.main()

View File

@@ -268,13 +268,13 @@ def convert_to_integer_list(value):
['003', '003', '004', '004']
"""
if value and isinstance(value, str):
if ',' in value:
value = re.sub('[^0-9,]', '', value)
new_list = value.split(',')
else:
new_list = re.findall('[0-9]', value)
return new_list if new_list else None
else:
if isinstance(value, list):
return value
else:
s = re.findall('(10|11|QA|[0-9])', value)
for k, v in enumerate(s):
try:
s[k] = int(v)
except ValueError:
pass
return s