diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/migrate-queries.py	Fri Oct 17 01:53:11 2003 +0000
@@ -0,0 +1,42 @@
+#! /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/