annotate tools/load_tracker.py @ 2239:c8a06e10e2c6

much faster anydbm filter(), but it breaks most filtering tests
author Richard Jones <richard@users.sourceforge.net>
date Mon, 26 Apr 2004 00:46:34 +0000
parents 87c238d8bc76
children 1bbdd3407eff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2228
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 #! /usr/bin/env python
2235
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
2 # $Id: load_tracker.py,v 1.4 2004-04-24 04:46:43 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:
2235
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
54 try:
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
55 db.user.lookup('alpha0')
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
56 except:
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
57 # add some users
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
58 M = N/100
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
59 for i in range(M):
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
60 print '\ruser', i, ' ',
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
61 sys.stdout.flush()
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
62 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
63
2235
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
64 # assignable user list
2228
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 users = db.user.list()
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66 users.remove(db.user.lookup('anonymous'))
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67 print
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 # now create the issues
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 for i in range(N):
2235
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
71 print '\rissue', i, ' ',
2228
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72 sys.stdout.flush()
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 db.issue.create(
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 title=random.choice(titles),
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 priority=random.choice(priorities),
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 status=random.choice(statuses),
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 assignedto=random.choice(users))
2235
87c238d8bc76 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 2234
diff changeset
78 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
79 db.commit()
2228
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 print
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 db.commit()
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 finally:
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84 db.close()
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85
1d1362c54c94 Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86 # vim: set filetype=python ts=4 sw=4 et si

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