annotate roundup/scripts/roundup_demo.py @ 5695:3e1b66c4e1e2

Update docs. Correct errors reported by setup.py build_docs. Add rest interface and link to rest doc to features page. Add link to xmlrpc doc to features page. Add rest doc to index. Update rest doc, hopefully clarify confusing use of parameters in patch action section. Fix code examples in "Adding new rest endpoints" section. Fix example adding import of exception.
author John Rouillard <rouilj@ieee.org>
date Sun, 07 Apr 2019 20:17:52 -0400
parents 4cf48ff01e04
children d09a1d6a3bd9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 _
5401
4cf48ff01e04 Python 3 preparation: replace raw_input uses.
Joseph Myers <jsm@polyomino.org.uk>
parents: 4766
diff changeset
27 from roundup.anypy.my_input import my_input
2777
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
28
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
29 def run():
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
30 home = DEFAULT_HOME
4108
01e8be352fb8 Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents: 2777
diff changeset
31 template = DEFAULT_TEMPLATE
2777
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
32 nuke = sys.argv[-1] == 'nuke'
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
33 # 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
34 try:
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
35 instance.open(home)
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
36 except configuration.NoConfigError:
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
37 nuke = 1
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
38 # 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
39 if nuke:
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
40 if len(sys.argv) > 2:
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
41 backend = sys.argv[-2]
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
42 else:
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
43 backend = 'anydbm'
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
44 # 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
45 # 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
46 # appropriate prompt for that.
5401
4cf48ff01e04 Python 3 preparation: replace raw_input uses.
Joseph Myers <jsm@polyomino.org.uk>
parents: 4766
diff changeset
47 home = my_input(
2777
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
48 _('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
49 if not home:
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
50 home = DEFAULT_HOME
4108
01e8be352fb8 Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents: 2777
diff changeset
51 templates = admin.AdminTool().listTemplates().keys()
5401
4cf48ff01e04 Python 3 preparation: replace raw_input uses.
Joseph Myers <jsm@polyomino.org.uk>
parents: 4766
diff changeset
52 template = my_input(
4108
01e8be352fb8 Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents: 2777
diff changeset
53 _('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
54 (','.join(templates),template))
01e8be352fb8 Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents: 2777
diff changeset
55 if not template:
01e8be352fb8 Allow user to choose the tracker template for demo.
Stefan Seefeld <stefan@seefeld.name>
parents: 2777
diff changeset
56 template = DEFAULT_TEMPLATE
2777
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
57 # install
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
58 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
59 admin.AdminTool().listTemplates()[template]['path'])
2777
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
60 # run
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
61 demo.run_demo(home)
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
62
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
63 if __name__ == '__main__':
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
64 run()
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
65
baaf90070dc4 instant-gratification script for binary distributions
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
66 # vim: set et sts=4 sw=4 :

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