Mercurial > p > roundup > code
view tools/migrate-queries.py @ 4764:d273e59b487b
roundup.demo: Use relative tracker home directory
Introduced in commit a0654b1283a4 when it was not known
that source demo.py is copied to roundup.demo during the
build phase. demo.py migrated to roundup.demo in the
previous commit.
| author | anatoly techtonik <techtonik@gmail.com> |
|---|---|
| date | Thu, 21 Feb 2013 19:08:40 +0300 |
| parents | a133f03df238 |
| children | 6e9b9743de89 |
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') 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()
