Mercurial > p > roundup > code
annotate roundup/scripts/roundup_gettext.py @ 4904:3b632a25b1b3
Correctly recreate the database directory during tracker re-initialise
The database directory value was being fetched from the tracker config
and being appended to the tracker home directory, but the database
directory value in the config already has the tracker home prepended
which resulted in the database directory being recreated in a
nonsensical location.
This fix is a bit of a hack, but the relevant code is likely to be
removed in v1.6, so it shouldn't be too bad in the short term.
| author | John Kristensen <john@jerrykan.com> |
|---|---|
| date | Sat, 12 Jul 2014 00:03:05 +1000 |
| parents | 86ef4ab17dc5 |
| children | 64b05e24dbd8 |
| rev | line source |
|---|---|
|
2803
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
2 # |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
3 # Copyright 2004 Richard Jones (richard@mechanicalcat.net) |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
5 """Extract translatable strings from tracker templates""" |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
6 |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
7 import os |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
8 import sys |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
9 |
|
4766
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
10 |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
11 # --- patch sys.path to make sure 'import roundup' finds correct version |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
12 import os.path as osp |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
13 |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
14 thisdir = osp.dirname(osp.abspath(__file__)) |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
15 rootdir = osp.dirname(osp.dirname(thisdir)) |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
16 if (osp.exists(thisdir + '/__init__.py') and |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
17 osp.exists(rootdir + '/roundup/__init__.py')): |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
18 # the script is located inside roundup source code |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
19 sys.path.insert(0, rootdir) |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
20 # --/ |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
21 |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4570
diff
changeset
|
22 |
|
2803
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
23 from roundup.i18n import _ |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
24 from roundup.cgi.TAL import talgettext |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
25 |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
26 # name of message template file. |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
27 # i don't think this will ever need to be changed, but still... |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
28 TEMPLATE_FILE = "messages.pot" |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
29 |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
30 def run(): |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
31 # return unless command line arguments contain single directory path |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
32 if (len(sys.argv) != 2) or (sys.argv[1] in ("-h", "--help")): |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
33 print _("Usage: %(program)s <tracker home>") % {"program": sys.argv[0]} |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
34 return |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
35 # collect file paths of html templates |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
36 home = os.path.abspath(sys.argv[1]) |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
37 htmldir = os.path.join(home, "html") |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
38 if os.path.isdir(htmldir): |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
39 # glob is not used because i want to match file names |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
40 # without case sensitivity, and that is easier done this way. |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
41 htmlfiles = [filename for filename in os.listdir(htmldir) |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
42 if os.path.isfile(os.path.join(htmldir, filename)) |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
43 and filename.lower().endswith(".html")] |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
44 else: |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
45 htmlfiles = [] |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
46 # return if no html files found |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
47 if not htmlfiles: |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
48 print _("No tracker templates found in directory %s") % home |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
49 return |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
50 # change to locale dir to have relative source references |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
51 locale = os.path.join(home, "locale") |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
52 if not os.path.isdir(locale): |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
53 os.mkdir(locale) |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
54 os.chdir(locale) |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
55 # tweak sys.argv as this is the only way to tell talgettext what to do |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
56 # Note: unix-style paths used instead of os.path.join deliberately |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
57 sys.argv[1:] = ["-o", TEMPLATE_FILE] \ |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
58 + ["../html/" + filename for filename in htmlfiles] |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
59 # run |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
60 talgettext.main() |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
61 |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
62 if __name__ == "__main__": |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
63 run() |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
64 |
|
a7b755646ffd
Extract translatable strings from tracker templates
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
65 # vim: set et sts=4 sw=4 : |
