annotate frontends/ZRoundup/ZRoundup.py @ 446:ea9a4ca3fb84

Added a Zope frontend for roundup.
author Richard Jones <richard@users.sourceforge.net>
date Wed, 12 Dec 2001 23:27:14 +0000
parents
children 70bdd0cef7e4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
446
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # This module is free software, and you may redistribute it and/or modify
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # under the same terms as Python, so long as this copyright message and
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 # disclaimer are retained in their original form.
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 #
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # POSSIBILITY OF SUCH DAMAGE.
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 #
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 #
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 # $Id: ZRoundup.py,v 1.1 2001-12-12 23:27:13 richard Exp $
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 #
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 ''' ZRoundup module - exposes the roundup web interface to Zope
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21 from Globals import InitializeClass, HTMLFile
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 from OFS.SimpleItem import Item
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 from OFS.PropertyManager import PropertyManager
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 from Acquisition import Implicit
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 from Persistence import Persistent
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 from AccessControl import ClassSecurityInfo
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 from AccessControl import ModuleSecurityInfo
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 modulesecurity = ModuleSecurityInfo()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 import roundup.instance
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 from roundup import cgi_client
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 modulesecurity.declareProtected('View management screens', 'manage_addZRoundupForm')
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 manage_addZRoundupForm = HTMLFile('dtml/manage_addZRoundupForm', globals())
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 modulesecurity.declareProtected('Add Z Roundups', 'manage_addZRoundup')
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 def manage_addZRoundup(self, id, instance_home, REQUEST):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 """Add a ZRoundup product """
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 # validate the instance_home
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 roundup.instance.open(instance_home)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 self._setObject(id, ZRoundup(id, instance_home))
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 return self.manage_main(self, REQUEST)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 class RequestWrapper:
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 '''Make the Zope RESPONSE look like a BaseHTTPServer
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 def __init__(self, RESPONSE):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 self.RESPONSE = RESPONSE
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 self.wfile = self.RESPONSE
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 def send_response(self, status):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 self.RESPONSE.setStatus(status)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 def send_header(self, header, value):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 self.RESPONSE.addHeader(header, value)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 def end_headers(self):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55 # not needed - the RESPONSE object handles this internally on write()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 pass
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 class FormItem:
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
59 '''Make a Zope form item look like a cgi.py one
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 def __init__(self, value):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
62 self.value = value
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 if hasattr(self.value, 'filename'):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64 self.filename = self.value.filename
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 self.file = self.value
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67 class FormWrapper:
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 '''Make a Zope form dict look like a cgi.py one
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 def __init__(self, form):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 self.form = form
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72 def __getitem__(self, item):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 return FormItem(self.form[item])
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 def has_key(self, item):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 return self.form.has_key(item)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 def keys(self):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 return self.form.keys()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
79 class ZRoundup(Item, PropertyManager, Implicit, Persistent):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 '''An instance of this class provides an interface between Zope and roundup for one
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
81 roundup instance
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 meta_type = 'Z Roundup'
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84 security = ClassSecurityInfo()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86 def __init__(self, id, instance_home):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
87 self.id = id
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
88 self.instance_home = instance_home
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
89
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
90 # define the properties that define this object
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 _properties = (
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
92 {'id':'id', 'type': 'string', 'mode': 'w'},
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
93 {'id':'instance_home', 'type': 'string', 'mode': 'w'},
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
94 )
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95 property_extensible_schema__ = 0
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 # define the tabs for the management interface
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 manage_options= PropertyManager.manage_options + (
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99 {'label': 'View', 'action':'index_html'},
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
100 ) + Item.manage_options
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102 icon = "misc_/ZRoundup/icon"
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104 security.declarePrivate('_opendb')
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
105 def _opendb(self):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
106 '''Open the roundup instnace database for a transaction
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
107 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
108 instance = roundup.instance.open(self.instance_home)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
109 request = RequestWrapper(self.REQUEST['RESPONSE'])
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
110 env = self.REQUEST.environ
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
111 env['INSTANCE_NAME'] = self.id
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
112 if env['REQUEST_METHOD'] == 'GET':
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
113 # force roundup to re-parse the request because Zope fiddles
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
114 # with it and we lose all the :filter, :columns, etc goodness
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
115 form = None
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
116 else:
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
117 form = FormWrapper(self.REQUEST.form)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
118 return instance.Client(instance, request, env, form)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
119
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
120 security.declareProtected('View', 'index_html')
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
121 def index_html(self):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
122 '''Alias index_html to roundup's index
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
123 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
124 client = self._opendb()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
125 # fake the path that roundup should use
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
126 client.split_path = ['index']
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
127 return client.main()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
128
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
129 def __getitem__(self, item):
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
130 '''All other URL accesses are passed throuh to roundup
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
131 '''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
132 try:
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133 client = self._opendb()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
134 # fake the path that roundup should use
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
135 client.split_path = [item]
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
136 # and call roundup to do something
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
137 client.main()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
138 return ''
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139 except cgi_client.NotFound:
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
140 raise 'NotFound', self.REQUEST.URL
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
141 pass
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
142 except:
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
143 import traceback
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
144 traceback.print_exc()
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
145 # all other exceptions in roundup are valid
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
146 raise
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 raise KeyError, item
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
149
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
150 InitializeClass(ZRoundup)
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
151 modulesecurity.apply(globals())
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
152
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
153
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
154 #
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
155 # $Log: not supported by cvs2svn $
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
156 #
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
157 #
ea9a4ca3fb84 Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
158 # vim: set filetype=python ts=4 sw=4 et si

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