~and471/software-center/fix-524289

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python

import os
import sys
import xapian

from optparse import OptionParser

sys.path.insert(0, "../")
from softwarecenter.enums import *
from softwarecenter.utils import *

if __name__ == "__main__":

    parser = OptionParser()
    parser.add_option("-v", "--verbose", action="store_true",
                      default=False,
                      help="print found apps/pkgs too")
    (options, args) = parser.parse_args()

    pathname = os.path.join(XAPIAN_BASE_PATH, "xapian")
    db = xapian.Database(pathname)

    axi = xapian.Database("/var/lib/apt-xapian-index/index")
    db.add_database(axi)

    query_set = set()
    with ExecutionTime("allterms XP/AP"):
        for search_term in args:
            for m in db.allterms("XP"):
                term = m.term
                if search_term in term:
                    query_set.add(term)
            for m in db.allterms("AP"):
                term = m.term
                if search_term in term:
                    query_set.add(term)

    print "found terms: ", len(query_set)
    if options.verbose:
        print sorted(query_set)