Mercurial > p > roundup > code
annotate tools/load_tracker.py @ 4838:6102252d3a8a
Do not throw an internal error if a .mo file can not be read
It is better to fall back to English (as already done in other situations)
than causing an internal server error.
| author | Thomas Arendsen Hein <thomas@intevation.de> |
|---|---|
| date | Wed, 02 Oct 2013 15:36:34 +0200 |
| parents | 6e9b9743de89 |
| children | 64b05e24dbd8 |
| 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 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 import sys, os, random |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 from roundup import instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 # open the instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 if len(sys.argv) < 2: |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 print "Error: Not enough arguments" |
|
3343
53d278e1440f
fix error message. backport candidate
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
2261
diff
changeset
|
14 print __doc__.strip()%(sys.argv[0]) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 sys.exit(1) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 tracker_home = sys.argv[1] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 N = int(sys.argv[2]) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 # open the tracker |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 tracker = instance.open(tracker_home) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 db = tracker.open('admin') |
| 4781 | 22 db.tx_Source = "cli" |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 priorities = db.priority.list() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 statuses = db.status.list() |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
26 resolved_id = db.status.lookup('resolved') |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
27 statuses.remove(resolved_id) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 names = ['alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 'theta', 'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi', 'omicron', 'pi', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 'rho'] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 titles = '''Lorem ipsum dolor sit amet, consectetuer adipiscing elit. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 Duis nibh purus, bibendum sed, condimentum ut, bibendum ut, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 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
|
36 Nulla risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 Vivamus tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 Donec consequat convallis quam. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 Sed convallis vehicula felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 Aliquam laoreet, dui quis pharetra vehicula, magna justo. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 Euismod felis, eu adipiscing eros metus id tortor. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 Suspendisse et turpis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 Aenean non felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 Nam egestas eros. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 Integer tellus quam, mattis ac, vestibulum sed, egestas quis, mauris. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 Nulla tincidunt diam sit amet dui. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 Nam odio mauris, dignissim vitae, eleifend eu, consectetuer id, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 Suspendisse potenti. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 Donec tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 Vestibulum gravida. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 Fusce luctus, neque id mattis fringilla, purus pede sodales pede. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 Quis ultricies urna odio sed orci.'''.splitlines() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 try: |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
55 try: |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
56 db.user.lookup('alpha0') |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
57 except: |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
58 # add some users |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
59 M = N/100 |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
60 for i in range(M): |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
61 print '\ruser', i, ' ', |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
62 sys.stdout.flush() |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
63 if i/17 == 0: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
64 db.user.create(username=names[i%17]) |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
65 else: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
66 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
|
67 |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
68 # assignable user list |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 users = db.user.list() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 users.remove(db.user.lookup('anonymous')) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 print |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 # now create the issues |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 for i in range(N): |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
75 print '\rissue', i, ' ', |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 sys.stdout.flush() |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
77 # in practise, about 90% of issues are resolved |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
78 if random.random() > .9: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
79 status = random.choice(statuses) |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
80 else: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
81 status = resolved_id |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
82 db.issue.create( |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 title=random.choice(titles), |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 priority=random.choice(priorities), |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
85 status=status, |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 assignedto=random.choice(users)) |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
87 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
|
88 db.commit() |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
89 print |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 db.commit() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 finally: |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 db.close() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 # vim: set filetype=python ts=4 sw=4 et si |
