view tools/migrate-queries.py @ 3913:00896a2acaa5

clean up query display of "Private to you" items Previously the handling of queries in the edit menu was a little wonky. If you change a query to not be private to you then you lose the ability to ever change it back to being private. Previously the queries were displayed in three chunks: First all retired queries. Then all queries private to the current user (this batch has the dropdown for toggling private state). Then all non-private queries. Now: all queries we created that are retired, all queries that we created that are not retired, then all non-private queries not created by the current user. this should fix [SF#1481394]
author Justus Pendleton <jpend@users.sourceforge.net>
date Thu, 20 Sep 2007 23:44:58 +0000
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()


Roundup Issue Tracker: http://roundup-tracker.org/