Mercurial > p > roundup > code
annotate tools/migrate-queries.py @ 2806:845e87d5e3ba
translator objects now have the following search path:
- selected locale messages in the tracker locale dir
- selected locale messages in the system locale dir
- english messages in the tracker locale dir
- english messages in the system locale dir
automatically compile .mo files if needed (found .po file
and .mo is missing or .po mtime is greater that .mo mtime)
removed support for python < 2.0. gettext module is now required.
get_translation: removed 'domain' argument, added 'tracker_home' argument
| author | Alexander Smishlajev <a1s@users.sourceforge.net> |
|---|---|
| date | Sat, 23 Oct 2004 14:03:34 +0000 |
| parents | 6e80f8f760a4 |
| children | a15f91a10e45 |
| rev | line source |
|---|---|
|
1850
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 ''' |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 migrate-queries <instance-home> [<instance-home> *] |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 Migrate old queries in the specified instances to Roundup 0.6.0+ by |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 removing the leading ? from their URLs. 0.6.0+ queries do not carry a |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 leading ?; it is added by the 0.6.0 templating, so old queries lead |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 to query URLs with a double leading ?? and a consequent 404 Not Found. |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 ''' |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 __author__ = 'James Kew <jkew@mediabright.co.uk>' |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 import sys |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 import roundup.instance |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 if len(sys.argv) == 1: |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 print __doc__ |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 sys.exit(1) |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 # Iterate over all instance homes specified in argv. |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 for home in sys.argv[1:]: |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 # Do some basic exception handling to catch bad arguments. |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 try: |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 instance = roundup.instance.open(home) |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 except: |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 print 'Cannot open instance home directory %s!' % home |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 continue |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 db = instance.open('admin') |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 print 'Migrating active queries in %s (%s):'%( |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 instance.config.TRACKER_NAME, home) |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 for query in db.query.list(): |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 url = db.query.get(query, 'url') |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 if url[0] == '?': |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 url = url[1:] |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 print ' Migrating query%s (%s)'%(query, |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 db.query.get(query, 'name')) |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 db.query.set(query, url=url) |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 db.commit() |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 db.close() |
|
6e80f8f760a4
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 |
