Mercurial > p > roundup > code
annotate roundup/scripts/roundup_demo.py @ 5010:0428d2004a86
Fix exception handling to be python2.5 compatible
The exception handling introduced in commit hg:494d2550:
Display errors containing HTML with RejectRaw (issue2550847)
contained the new style of exception handling that is not compatible
with python2.5. Rework these exception handlers to use the old style to
maintain compatibility with python2.5
| author | John Kristensen <john@jerrykan.com> |
|---|---|
| date | Wed, 06 Jan 2016 16:02:34 +1100 |
| parents | 86ef4ab17dc5 |
| children | 4cf48ff01e04 |
| rev | line source |
|---|---|
|
2777
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
2 # |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
3 # Copyright 2004 Richard Jones (richard@mechanicalcat.net) |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
4 # |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
5 |
|
4766
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
6 DEFAULT_HOME = './demo' |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
7 DEFAULT_TEMPLATE = 'classic' |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
8 |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
9 |
|
2777
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
10 import sys |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
11 |
|
4766
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
12 |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
13 # --- 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:
4108
diff
changeset
|
14 import os.path as osp |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
15 |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
16 thisdir = osp.dirname(osp.abspath(__file__)) |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
17 rootdir = osp.dirname(osp.dirname(thisdir)) |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
18 if (osp.exists(thisdir + '/__init__.py') and |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
19 osp.exists(rootdir + '/roundup/__init__.py')): |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
20 # the script is located inside roundup source code |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
21 sys.path.insert(0, rootdir) |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
22 # --/ |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
23 |
|
86ef4ab17dc5
Run scripts (roundup_admin.py, ...) directly from checkout.
anatoly techtonik <techtonik@gmail.com>
parents:
4108
diff
changeset
|
24 |
|
2777
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
25 from roundup import admin, configuration, demo, instance |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
26 from roundup.i18n import _ |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
27 |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
28 def run(): |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
29 home = DEFAULT_HOME |
|
4108
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
30 template = DEFAULT_TEMPLATE |
|
2777
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
31 nuke = sys.argv[-1] == 'nuke' |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
32 # if there is no tracker in home, force nuke |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
33 try: |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
34 instance.open(home) |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
35 except configuration.NoConfigError: |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
36 nuke = 1 |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
37 # if we are to create the tracker, prompt for home |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
38 if nuke: |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
39 if len(sys.argv) > 2: |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
40 backend = sys.argv[-2] |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
41 else: |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
42 backend = 'anydbm' |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
43 # FIXME: i'd like to have an option to abort the tracker creation |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
44 # say, by entering a single dot. but i cannot think of |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
45 # appropriate prompt for that. |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
46 home = raw_input( |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
47 _('Enter directory path to create demo tracker [%s]: ') % home) |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
48 if not home: |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
49 home = DEFAULT_HOME |
|
4108
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
50 templates = admin.AdminTool().listTemplates().keys() |
|
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
51 template = raw_input( |
|
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
52 _('Enter tracker template to use (one of (%s)) [%s]: ') % |
|
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
53 (','.join(templates),template)) |
|
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
54 if not template: |
|
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
55 template = DEFAULT_TEMPLATE |
|
2777
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
56 # install |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
57 demo.install_demo(home, backend, |
|
4108
01e8be352fb8
Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents:
2777
diff
changeset
|
58 admin.AdminTool().listTemplates()[template]['path']) |
|
2777
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
59 # run |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
60 demo.run_demo(home) |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
61 |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
62 if __name__ == '__main__': |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
63 run() |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
64 |
|
baaf90070dc4
instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
65 # vim: set et sts=4 sw=4 : |
