Mercurial > p > roundup > code
annotate roundup/templates/classic/dbinit.py @ 68:5e71aaa87e5b
Added templatebuilder module.
two functions - one to pack up the html base, one to unpack it. Packed
up the two standard templates into htmlbases. Modified __init__ to
install them.
__init__.py magic was needed for the rather high levels of wierd import magic.
Reducing level of import magic == (good, future)
| author | Anthony Baxter <anthonybaxter@users.sourceforge.net> |
|---|---|
| date | Tue, 24 Jul 2001 10:46:22 +0000 |
| parents | e9735680d5b3 |
| children | 0791d13baea7 |
| rev | line source |
|---|---|
|
68
5e71aaa87e5b
Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
60
diff
changeset
|
1 # $Id: dbinit.py,v 1.3 2001-07-24 10:46:22 anthonybaxter Exp $ |
|
57
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 import os |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 import instance_config |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 from roundup import roundupdb, cgi_client, mailgw |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 import select_db |
|
68
5e71aaa87e5b
Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
60
diff
changeset
|
8 |
|
57
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 from roundup.roundupdb import Class, FileClass |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 class Database(roundupdb.Database, select_db.Database): |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 ''' Creates a hybrid database from: |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 . the selected database back-end from select_db |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 . the roundup extensions from roundupdb |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 ''' |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 pass |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 class IssueClass(roundupdb.IssueClass): |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 ''' issues need the email information |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 ''' |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 ISSUE_TRACKER_EMAIL = instance_config.ISSUE_TRACKER_EMAIL |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 ADMIN_EMAIL = instance_config.ADMIN_EMAIL |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 MAILHOST = instance_config.MAILHOST |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 def open(name=None): |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 ''' as from the roundupdb method openDB |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 ''' |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 from roundup.hyperdb import String, Date, Link, Multilink |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 # open the database |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 db = Database(instance_config.DATABASE, name) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 # Now initialise the schema. Must do this each time. |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 pri = Class(db, "priority", |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 name=String(), order=String()) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 pri.setkey("name") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 stat = Class(db, "status", |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 name=String(), order=String()) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 stat.setkey("name") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 |
|
60
e9735680d5b3
Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents:
57
diff
changeset
|
44 keyword = Class(db, "keyword", |
|
57
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 name=String()) |
|
60
e9735680d5b3
Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents:
57
diff
changeset
|
46 keyword.setkey("name") |
|
57
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 user = Class(db, "user", |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 username=String(), password=String(), |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 address=String(), realname=String(), |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 phone=String(), organisation=String()) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 user.setkey("username") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 msg = FileClass(db, "msg", |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 author=Link("user"), recipients=Multilink("user"), |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 date=Date(), summary=String(), |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 files=Multilink("file")) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 file = FileClass(db, "file", |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
60 name=String(), type=String()) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
61 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
62 issue = IssueClass(db, "issue", |
|
60
e9735680d5b3
Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents:
57
diff
changeset
|
63 assignedto=Link("user"), topic=Multilink("keyword"), |
|
57
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
64 priority=Link("priority"), status=Link("status")) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 issue.setkey('title') |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
66 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
67 import detectors |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 detectors.init(db) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 return db |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 def init(adminpw): |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 ''' as from the roundupdb method initDB |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 Open the new database, and set up a bunch of attributes. |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 ''' |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 dbdir = os.path.join(instance_config.DATABASE, 'files') |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 if not os.path.isdir(dbdir): |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 os.makedirs(dbdir) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
82 db = open("admin") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 db.clear() |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 pri = db.getclass('priority') |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 pri.create(name="critical", order="1") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
87 pri.create(name="urgent", order="2") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 pri.create(name="bug", order="3") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
89 pri.create(name="feature", order="4") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 pri.create(name="wish", order="5") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 stat = db.getclass('status') |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 stat.create(name="unread", order="1") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 stat.create(name="deferred", order="2") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 stat.create(name="chatting", order="3") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 stat.create(name="need-eg", order="4") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 stat.create(name="in-progress", order="5") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 stat.create(name="testing", order="6") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 stat.create(name="done-cbb", order="7") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 stat.create(name="resolved", order="8") |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
101 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
102 user = db.getclass('user') |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 user.create(username="admin", password=adminpw, |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 address=instance_config.ADMIN_EMAIL) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 db.close() |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
107 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
108 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
109 # $Log: not supported by cvs2svn $ |
|
68
5e71aaa87e5b
Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
60
diff
changeset
|
110 # Revision 1.2 2001/07/24 01:06:43 richard |
|
5e71aaa87e5b
Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
60
diff
changeset
|
111 # Oops - accidentally duped the keywords class |
|
5e71aaa87e5b
Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
60
diff
changeset
|
112 # |
|
60
e9735680d5b3
Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents:
57
diff
changeset
|
113 # Revision 1.1 2001/07/23 23:28:43 richard |
|
e9735680d5b3
Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents:
57
diff
changeset
|
114 # Adding the classic template |
|
e9735680d5b3
Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents:
57
diff
changeset
|
115 # |
|
57
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
116 # Revision 1.4 2001/07/23 08:45:28 richard |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
117 # ok, so now "./roundup-admin init" will ask questions in an attempt to get a |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
118 # workable instance_home set up :) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
119 # _and_ anydbm has had its first test :) |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
120 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
121 # Revision 1.3 2001/07/23 07:14:41 richard |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
122 # Moved the database backends off into backends. |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
123 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
124 # Revision 1.2 2001/07/23 06:25:50 richard |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
125 # relfected the move to roundup/backends |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
126 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
127 # Revision 1.1 2001/07/23 04:33:21 anthonybaxter |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
128 # split __init__.py into 2. dbinit and instance_config. |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
129 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
130 # Revision 1.1 2001/07/23 03:50:46 anthonybaxter |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
131 # moved templates to proper location |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
132 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
133 # Revision 1.2 2001/07/22 12:09:32 richard |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
134 # Final commit of Grande Splite |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
135 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
136 # |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
137 |
|
6ff85bc2dd56
Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
138 |
