Mercurial > p > roundup > code
annotate tools/load_tracker.py @ 7695:2be7a8f66ea7
fix: windows install using pip mislocates share directory
The setup code that tries to make the share install path absolute
prependeds something like:
c:\program files\python_venv
to the paths. The equivalent on linux is recognized as an absolute
path. On windows this is treated oddly. This resulted in
the share files being placed in:
c:\program files\python_venv\Lib\site-packages\program files\python_venv\share
Roundup was unable to find the files there. On windows (where the
platform starts with 'win') don't make the path absolute. This puts
share in:
c:\program files\python_venv\Lib\share
and Roundup finds them.
The translations and templates are found by the roundup-server.
The docs are also installed under the share directory. The man pages
are not installed as windows doesn't have groff to format the source
documents.
This is the second fix from issues getting Roundup running on windows
discussed on mailing list by Simon Eigeldinger.
Thread starts with:
https://sourceforge.net/p/roundup/mailman/message/41557096/
subject: Installing Roundup on Windows 2023-10-05.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 05 Nov 2023 23:01:29 -0500 |
| parents | 2120f77554d5 |
| children | e1dfd21f2252 |
| rev | line source |
|---|---|
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 ''' |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 Usage: %s <tracker home> <N> |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 Load up the indicated tracker with N issues and N/100 users. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 ''' |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
8 from __future__ import print_function |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 import sys, os, random |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 from roundup import instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 # open the instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 if len(sys.argv) < 2: |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
14 print("Error: Not enough arguments") |
|
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
15 print(__doc__.strip()%(sys.argv[0])) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 sys.exit(1) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 tracker_home = sys.argv[1] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 N = int(sys.argv[2]) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 # open the tracker |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 tracker = instance.open(tracker_home) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 db = tracker.open('admin') |
| 4781 | 23 db.tx_Source = "cli" |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 priorities = db.priority.list() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 statuses = db.status.list() |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
27 resolved_id = db.status.lookup('resolved') |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
28 statuses.remove(resolved_id) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 names = ['alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 'theta', 'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi', 'omicron', 'pi', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 'rho'] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 titles = '''Lorem ipsum dolor sit amet, consectetuer adipiscing elit. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 Duis nibh purus, bibendum sed, condimentum ut, bibendum ut, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 Fusce pede enim, nonummy sit amet, dapibus a, blandit eget, metus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 Nulla risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 Vivamus tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 Donec consequat convallis quam. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 Sed convallis vehicula felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 Aliquam laoreet, dui quis pharetra vehicula, magna justo. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 Euismod felis, eu adipiscing eros metus id tortor. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 Suspendisse et turpis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 Aenean non felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 Nam egestas eros. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 Integer tellus quam, mattis ac, vestibulum sed, egestas quis, mauris. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 Nulla tincidunt diam sit amet dui. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 Nam odio mauris, dignissim vitae, eleifend eu, consectetuer id, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 Suspendisse potenti. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 Donec tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 Vestibulum gravida. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 Fusce luctus, neque id mattis fringilla, purus pede sodales pede. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 Quis ultricies urna odio sed orci.'''.splitlines() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 try: |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
56 try: |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
57 db.user.lookup('alpha0') |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
58 except: |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
59 # add some users |
|
5400
2120f77554d5
Python 3 preparation: use // and __truediv__ as needed.
Joseph Myers <jsm@polyomino.org.uk>
parents:
5376
diff
changeset
|
60 M = N//100 |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
61 for i in range(M): |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
62 print('\ruser', i, ' ', end=' ') |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
63 sys.stdout.flush() |
|
5400
2120f77554d5
Python 3 preparation: use // and __truediv__ as needed.
Joseph Myers <jsm@polyomino.org.uk>
parents:
5376
diff
changeset
|
64 if i//17 == 0: |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
65 db.user.create(username=names[i%17]) |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
66 else: |
|
5400
2120f77554d5
Python 3 preparation: use // and __truediv__ as needed.
Joseph Myers <jsm@polyomino.org.uk>
parents:
5376
diff
changeset
|
67 db.user.create(username=names[i%17]+str(i//17)) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
69 # assignable user list |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 users = db.user.list() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 users.remove(db.user.lookup('anonymous')) |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
72 print() |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 # now create the issues |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 for i in range(N): |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
76 print('\rissue', i, ' ', end=' ') |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 sys.stdout.flush() |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
78 # in practise, about 90% of issues are resolved |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
79 if random.random() > .9: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
80 status = random.choice(statuses) |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
81 else: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
82 status = resolved_id |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 db.issue.create( |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 title=random.choice(titles), |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 priority=random.choice(priorities), |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
86 status=status, |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
87 assignedto=random.choice(users)) |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
88 if not i%1000: |
|
2230
ca2664e095be
disable forking server when os.fork() not available [SF#938586]
Richard Jones <richard@users.sourceforge.net>
parents:
2228
diff
changeset
|
89 db.commit() |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
90 print() |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 db.commit() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 finally: |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 db.close() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 # vim: set filetype=python ts=4 sw=4 et si |
