Mercurial > p > roundup > code
annotate tools/load_tracker.py @ 2234:70d21059aa18
fix nested scope bug in multilink sorting in rdbms filtering
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Thu, 22 Apr 2004 22:17:34 +0000 |
| parents | ca2664e095be |
| children | 87c238d8bc76 |
| rev | line source |
|---|---|
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
2234
70d21059aa18
fix nested scope bug in multilink sorting in rdbms filtering
Richard Jones <richard@users.sourceforge.net>
parents:
2230
diff
changeset
|
2 # $Id: load_tracker.py,v 1.3 2004-04-22 22:17:34 richard Exp $ |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 |
|
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 Usage: %s <tracker home> <N> |
|
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 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
|
8 ''' |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 import sys, os, random |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 from roundup import instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 # open the instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 if len(sys.argv) < 2: |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 print "Error: Not enough arguments" |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 print __doc__.strip()%(sys.argv[0], username) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 sys.exit(1) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 tracker_home = sys.argv[1] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 N = int(sys.argv[2]) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 # open the tracker |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 tracker = instance.open(tracker_home) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 db = tracker.open('admin') |
|
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() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 names = ['alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 'theta', 'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi', 'omicron', 'pi', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 'rho'] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 titles = '''Lorem ipsum dolor sit amet, consectetuer adipiscing elit. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 Duis nibh purus, bibendum sed, condimentum ut, bibendum ut, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 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
|
35 Nulla risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 Vivamus tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 Donec consequat convallis quam. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 Sed convallis vehicula felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 Aliquam laoreet, dui quis pharetra vehicula, magna justo. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 Euismod felis, eu adipiscing eros metus id tortor. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 Suspendisse et turpis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 Aenean non felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 Nam egestas eros. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 Integer tellus quam, mattis ac, vestibulum sed, egestas quis, mauris. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 Nulla tincidunt diam sit amet dui. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 Nam odio mauris, dignissim vitae, eleifend eu, consectetuer id, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 Suspendisse potenti. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 Donec tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 Vestibulum gravida. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 Fusce luctus, neque id mattis fringilla, purus pede sodales pede. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 Quis ultricies urna odio sed orci.'''.splitlines() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 try: |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 M = N/100 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 print |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 for i in range(M): |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 print '\ruser', i*100./M, |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 sys.stdout.flush() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 db.user.create(username=names[i%17]+str(i/17)) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
60 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
61 users = db.user.list() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
62 users.remove(db.user.lookup('anonymous')) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
63 print |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
64 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 # now create the issues |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
66 for i in range(N): |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
67 print '\rissue', i*100./N, |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 sys.stdout.flush() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 db.issue.create( |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 title=random.choice(titles), |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 priority=random.choice(priorities), |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 status=random.choice(statuses), |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 assignedto=random.choice(users)) |
|
2234
70d21059aa18
fix nested scope bug in multilink sorting in rdbms filtering
Richard Jones <richard@users.sourceforge.net>
parents:
2230
diff
changeset
|
74 if i%10: |
|
2230
ca2664e095be
disable forking server when os.fork() not available [SF#938586]
Richard Jones <richard@users.sourceforge.net>
parents:
2228
diff
changeset
|
75 db.commit() |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 print |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 db.commit() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 finally: |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 db.close() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
82 # vim: set filetype=python ts=4 sw=4 et si |
