annotate examples/trac/contrib/migrateticketmodel.py @ 39:93b4dcbafd7b trunk

Copy Trac to main branch.
author cmlenz
date Mon, 03 Jul 2006 18:53:27 +0000
parents
children
rev   line source
39
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
1 #!/usr/bin/env python
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
2 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
3 # This script completely migrates a <= 0.8.x Trac environment to use the new
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
4 # default ticket model introduced in Trac 0.9.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
5 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
6 # In particular, this means that the severity field is removed (or rather
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
7 # disabled by removing all possible values), and the priority values are
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
8 # changed to the more meaningful new defaults.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
9 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
10 # Make sure to make a backup of the Trac environment before running this!
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
11
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
12 import os
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
13 import sys
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
14
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
15 from trac.env import open_environment
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
16 from trac.ticket.model import Priority, Severity
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
17
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
18 priority_mapping = {
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
19 'highest': 'blocker',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
20 'high': 'critical',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
21 'normal': 'major',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
22 'low': 'minor',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
23 'lowest': 'trivial'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
24 }
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
25
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
26 def main():
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
27 if len(sys.argv) < 2:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
28 print >> sys.stderr, 'usage: %s /path/to/projenv' \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
29 % os.path.basename(sys.argv[0])
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
30 sys.exit(2)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
31
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
32 env = open_environment(sys.argv[1])
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
33 db = env.get_db_cnx()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
34
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
35 for oldprio, newprio in priority_mapping.items():
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
36 priority = Priority(env, oldprio, db)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
37 priority.name = newprio
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
38 priority.update(db)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
39
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
40 for severity in list(Severity.select(env, db)):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
41 severity.delete(db)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
42
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
43 db.commit()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
44
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
45 if __name__ == '__main__':
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
46 main()
Copyright (C) 2012-2017 Edgewall Software