Mercurial > p > roundup > code
view tools/migrate-queries.py @ 5108:67fad01d2009
issue2550653: xapian search, stemming is not working
This is a partial fix for the issue. It does make stemming work
(so searching for silent will also return docs with silently in
them). However to do this we need to lowercase the text so the
porter stemmer will work. This means capitalization is not
preserved.
Tests in test/test_indexer for xapian backend all pass.
David Wolever (wolever) did the work.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 27 Jun 2016 22:10:45 -0400 |
| parents | 6e9b9743de89 |
| children | 64b05e24dbd8 |
line wrap: on
line source
#! /usr/bin/env python ''' migrate-queries <instance-home> [<instance-home> *] Migrate old queries in the specified instances to Roundup 0.6.0+ by removing the leading ? from their URLs. 0.6.0+ queries do not carry a leading ?; it is added by the 0.6.0 templating, so old queries lead to query URLs with a double leading ?? and a consequent 404 Not Found. ''' __author__ = 'James Kew <jkew@mediabright.co.uk>' import sys import roundup.instance if len(sys.argv) == 1: print __doc__ sys.exit(1) # Iterate over all instance homes specified in argv. for home in sys.argv[1:]: # Do some basic exception handling to catch bad arguments. try: instance = roundup.instance.open(home) except: print 'Cannot open instance home directory %s!' % home continue db = instance.open('admin') db.tx_Source = "cli" print 'Migrating active queries in %s (%s):'%( instance.config.TRACKER_NAME, home) for query in db.query.list(): url = db.query.get(query, 'url') if url[0] == '?': url = url[1:] print ' Migrating query%s (%s)'%(query, db.query.get(query, 'name')) db.query.set(query, url=url) db.commit() db.close()
