From bb30a496f851896b651fdc14ae9a83273efc6451 Mon Sep 17 00:00:00 2001 From: Eevee Date: Sun, 12 Sep 2010 21:08:50 -0700 Subject: [PATCH] Crash fix: lookup with empty prefixes. --- pokedex/lookup.py | 6 +++++- pokedex/tests/test_lookup.py | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pokedex/lookup.py b/pokedex/lookup.py index 774df92..98e69c4 100644 --- a/pokedex/lookup.py +++ b/pokedex/lookup.py @@ -296,7 +296,11 @@ class PokedexLookup(object): name = name.strip() prefixes = prefix_chunk.split(',') - user_valid_types = [_.strip() for _ in prefixes] + user_valid_types = [] + for prefix in prefixes: + prefix = prefix.strip() + if prefix: + user_valid_types.append(prefix) # Merge the valid types together. Only types that appear in BOTH lists # may be used. diff --git a/pokedex/tests/test_lookup.py b/pokedex/tests/test_lookup.py index 25c3c8a..36f11a1 100644 --- a/pokedex/tests/test_lookup.py +++ b/pokedex/tests/test_lookup.py @@ -146,3 +146,8 @@ def test_random_lookup(): assert_equal(len(results), 1, u'Constrained random returns one result') assert_equal(results[0].object.__tablename__, table_name, u'Constrained random returns result from the right table') + +def test_crash_empty_prefix(): + """Searching for ':foo' used to crash, augh!""" + results = lookup.lookup(u'Eevee') + assert_equal(results[0].object.name, u'Eevee', u'Empty prefix dun crash') -- 2.7.4