Mercurial > p > roundup > code
comparison tools/migrate-queries.py @ 1850:6e80f8f760a4
*** empty log message ***
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 17 Oct 2003 01:53:11 +0000 |
| parents | |
| children | a15f91a10e45 |
comparison
equal
deleted
inserted
replaced
| 1847:6889824fcdf9 | 1850:6e80f8f760a4 |
|---|---|
| 1 #! /usr/bin/env python | |
| 2 ''' | |
| 3 migrate-queries <instance-home> [<instance-home> *] | |
| 4 | |
| 5 Migrate old queries in the specified instances to Roundup 0.6.0+ by | |
| 6 removing the leading ? from their URLs. 0.6.0+ queries do not carry a | |
| 7 leading ?; it is added by the 0.6.0 templating, so old queries lead | |
| 8 to query URLs with a double leading ?? and a consequent 404 Not Found. | |
| 9 ''' | |
| 10 __author__ = 'James Kew <jkew@mediabright.co.uk>' | |
| 11 | |
| 12 import sys | |
| 13 import roundup.instance | |
| 14 | |
| 15 if len(sys.argv) == 1: | |
| 16 print __doc__ | |
| 17 sys.exit(1) | |
| 18 | |
| 19 # Iterate over all instance homes specified in argv. | |
| 20 for home in sys.argv[1:]: | |
| 21 # Do some basic exception handling to catch bad arguments. | |
| 22 try: | |
| 23 instance = roundup.instance.open(home) | |
| 24 except: | |
| 25 print 'Cannot open instance home directory %s!' % home | |
| 26 continue | |
| 27 | |
| 28 db = instance.open('admin') | |
| 29 | |
| 30 print 'Migrating active queries in %s (%s):'%( | |
| 31 instance.config.TRACKER_NAME, home) | |
| 32 for query in db.query.list(): | |
| 33 url = db.query.get(query, 'url') | |
| 34 if url[0] == '?': | |
| 35 url = url[1:] | |
| 36 print ' Migrating query%s (%s)'%(query, | |
| 37 db.query.get(query, 'name')) | |
| 38 db.query.set(query, url=url) | |
| 39 | |
| 40 db.commit() | |
| 41 db.close() | |
| 42 |
