~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/search.py

Don't use Repository.get_revision_inventory(), removed in bzr 2.2. (#528194)

(The original commit message is wrong: The replacement is named get_inventory, not get_revision.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
# along with this program; if not, write to the Free Software
18
18
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
19
#
20
 
import sets
21
 
import os
22
 
try:
23
 
    from bzrlib.plugins.search import errors
24
 
    from bzrlib.plugins.search import index as _mod_index
25
 
    from bzrlib.plugins.search.index import FileTextHit, RevisionHit
26
 
except ImportError:
27
 
    _mod_index = None
 
20
 
 
21
_mod_index = None
 
22
def import_search():
 
23
    global errors, _mod_index, FileTextHit, RevisionHit
 
24
    if _mod_index is not None:
 
25
        return
 
26
    try:
 
27
        from bzrlib.plugins.search import errors
 
28
        from bzrlib.plugins.search import index as _mod_index
 
29
        from bzrlib.plugins.search.index import FileTextHit, RevisionHit
 
30
    except ImportError:
 
31
        _mod_index = None
 
32
 
28
33
 
29
34
def search_revisions(branch, query_list, suggest=False):
30
35
    """
31
36
    Search using bzr-search plugin to find revisions matching the query.
32
37
    This can either suggest query terms, or revision ids.
33
 
    
 
38
 
34
39
    param branch: branch object to search in
35
40
    param query_list: string to search
36
41
    param suggest: Optional flag to request suggestions instead of results
37
42
    return: A list for results, either revision ids or terms
38
43
    """
 
44
    import_search()
39
45
    if _mod_index is None:
40
46
        return None # None indicates could-not-search
41
47
    try:
59
65
                    revid_list.append(result.text_key[1])
60
66
                elif isinstance(result, RevisionHit):
61
67
                    revid_list.append(result.revision_key[0])
62
 
            return list(sets.Set(revid_list))
 
68
            return list(set(revid_list))
63
69
    finally:
64
70
        index._branch.unlock()