From 0a893be01d162516ffa76b2c43585535fc120db3 Mon Sep 17 00:00:00 2001 From: Eevee Date: Thu, 20 Aug 2009 17:36:31 -0700 Subject: [PATCH] Allow lookup() callers to pass in their own whoosh indices. --- pokedex/lookup.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pokedex/lookup.py b/pokedex/lookup.py index 37a50f3..f17caf7 100644 --- a/pokedex/lookup.py +++ b/pokedex/lookup.py @@ -129,7 +129,7 @@ def open_index(directory=None, session=None, recreate=False): return index, speller -def lookup(name, session=None, exact_only=False): +def lookup(name, session=None, indices=None, exact_only=False): """Attempts to find some sort of object, given a database session and name. Returns (objects, exact) where `objects` is a list of database objects, and @@ -150,6 +150,10 @@ def lookup(name, session=None, exact_only=False): if this is not provided, a connection to the default database will be attempted. + `indices` + Tuple of index, speller as returned from `open_index()`. Defaults to + a call to `open_index()`. + `exact_only` If True, only exact matches are returned. If set to False (the default), and the provided `name` doesn't match anything exactly, @@ -159,7 +163,10 @@ def lookup(name, session=None, exact_only=False): if not session: session = connect() - index, speller = open_index() + if indices: + index, speller = indices + else: + index, speller = open_index() exact = True