New submission from David Durham <[EMAIL PROTECTED]>: I added a sample portlet through a FSDV, then went to ZMI, navigated to the portlet test, clicked edit and got this:
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. /var/www/jgsi_beta/lib/python2.4/site-packages/Paste-1.5-py2.4.egg/paste/cgitb_catcher.py in __call__(self=<paste.cgitb_catcher.CgitbMiddleware object>, environ={'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response=<function start_response>) 41 def __call__(self, environ, start_response): 42 try: 43 app_iter = self.app(environ, start_response) 44 return self.catching_iter(app_iter, environ) 45 except: app_iter undefined, self = <paste.cgitb_catcher.CgitbMiddleware object>, self.app = <paste.httpexceptions.HTTPExceptionHandler object>, environ = {'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response = <function start_response> /var/www/jgsi_beta/lib/python2.4/site-packages/Paste-1.5-py2.4.egg/paste/httpexceptions.py in __call__(self=<paste.httpexceptions.HTTPExceptionHandler object>, environ={'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response=<function start_response>) 630 []).append(HTTPException) 631 try: 632 return self.application(environ, start_response) 633 except HTTPException, exc: 634 return exc(environ, start_response) self = <paste.httpexceptions.HTTPExceptionHandler object>, self.application = <repoze.retry.Retry instance>, environ = {'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response = <function start_response> /var/www/jgsi_beta/lib/python2.4/site-packages/repoze.retry-0.6-py2.4.egg/repoze/retry/__init__.py in __call__(self=<repoze.retry.Retry instance>, environ={'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response=<function start_response>) 24 while 1: 25 try: 26 result = self.application(environ, self.buffer_start_response) 27 except ConflictError, why: 28 if environ.get('wsgi.errors'): result undefined, self = <repoze.retry.Retry instance>, self.application = <repoze.tm.TM instance>, environ = {'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, self.buffer_start_response = <bound method Retry.buffer_start_response of <repoze.retry.Retry instance>> /var/www/jgsi_beta/lib/python2.4/site-packages/repoze.tm-0.8-py2.4.egg/repoze/tm/__init__.py in __call__(self=<repoze.tm.TM instance>, environ={'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response=<bound method Retry.buffer_start_response of <repoze.retry.Retry instance>>) 12 transaction.begin() 13 try: 14 result = self.application(environ, start_response) 15 except: 16 self.abort() result undefined, self = <repoze.tm.TM instance>, self.application = <repoze.vhm.middleware.VHMFilter instance>, environ = {'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response = <bound method Retry.buffer_start_response of <repoze.retry.Retry instance>> /var/www/jgsi_beta/lib/python2.4/site-packages/repoze.vhm-0.5-py2.4.egg/repoze/vhm/middleware.py in __call__(self=<repoze.vhm.middleware.VHMFilter instance>, environ={'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response=<bound method Retry.buffer_start_response of <repoze.retry.Retry instance>>) 51 environ['repoze.vhm.virtual_root'] = root_header 52 53 return self.application(environ, start_response) 54 55 def make_filter(app, global_conf): self = <repoze.vhm.middleware.VHMFilter instance>, self.application = <repoze.errorlog.ErrorLog instance>, environ = {'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response = <bound method Retry.buffer_start_response of <repoze.retry.Retry instance>> /var/www/jgsi_beta/lib/python2.4/site-packages/repoze.errorlog-0.5-py2.4.egg/repoze/errorlog/__init__.py in __call__(self=<repoze.errorlog.ErrorLog instance>, environ={'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response=<bound method Retry.buffer_start_response of <repoze.retry.Retry instance>>) 83 environ['repoze.errorlog.entryid'] = identifier 84 try: 85 return self.application(environ, start_response) 86 except self.ignored_exceptions: 87 # just reraise an ignored exception self = <repoze.errorlog.ErrorLog instance>, self.application = <repoze.obob.publisher.ObobPublisher instance>, environ = {'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response = <bound method Retry.buffer_start_response of <repoze.retry.Retry instance>> /var/www/jgsi_beta/lib/python2.4/site-packages/repoze.obob-0.2-py2.4.egg/repoze/obob/publisher.py in __call__(self=<repoze.obob.publisher.ObobPublisher instance>, environ={'CHANNEL_CREATION_TIME': '1205877438.91', 'CONNECTION_TYPE': 'keep-alive', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_COOKIE': 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXpHRbda4CY67ERD0Ahn0IGw"', 'HTTP_HOST': 'localhost:8080', 'HTTP_KEEP_ALIVE': '300', ...}, start_response=<bound method Retry.buffer_start_response of <repoze.retry.Retry instance>>) 155 156 helper.before_invoke(published) 157 result = helper.invoke(published) 158 159 status, headers, body_iter = helper.map_result(result) result undefined, helper = <repoze.zope2.z2bob.Zope2ObobHelper instance>, helper.invoke = <bound method Zope2ObobHelper.invoke of <repoze.zope2.z2bob.Zope2ObobHelper instance>>, published = <Products.ExternalEditor.ExternalEditor.ExternalEditor object> /var/www/jgsi_beta/lib/python2.4/site-packages/repoze.zope2-0.3.3-py2.4.egg/repoze/zope2/z2bob.py in invoke(self=<repoze.zope2.z2bob.Zope2ObobHelper instance>, published=<bound method ExternalEditor.index_html of <Prod...rnalEditor.ExternalEditor.ExternalEditor object>>) 359 handle_class = dont_publish_class, 360 context = request, 361 bind=1) 362 363 except Redirect, what: bind undefined /var/www/jgsi_beta/lib/python2.4/site-packages/repoze.zope2-0.3.3-py2.4.egg/repoze/zope2/mapply.py in mapply(object=<bound method ExternalEditor.index_html of <Prod...rnalEditor.ExternalEditor.ExternalEditor object>>, positional=(), keyword=<HTTPRequest, URL=None>, debug=None, maybe=1, missing_name=<function missing_name>, handle_class=<function dont_publish_class>, context=<HTTPRequest, URL=None>, bind=1) 92 args.append(v) 93 94 args=tuple(args) 95 if debug is not None: return debug(object,args,context) 96 else: return object(*args) object = <bound method ExternalEditor.index_html of <Prod...rnalEditor.ExternalEditor.ExternalEditor object>>, args = (<HTTPRequest, URL=None>, RepozeHTTPResponse(''), None) /var/www/jgsi_beta/lib/python2.4/site-packages/ploneproducts-3.0.6.0-py2.4.egg/Products/ExternalEditor/ExternalEditor.py in index_html(self=<Products.ExternalEditor.ExternalEditor.ExternalEditor object>, REQUEST=<HTTPRequest, URL=None>, RESPONSE=RepozeHTTPResponse(''), path=None) 106 parent = self.aq_parent 107 try: 108 ob = parent[REQUEST['target']] # Try getitem 109 except KeyError: 110 ob = getattr(parent, REQUEST['target']) # Try getattr ob undefined, parent = <DirectoryViewSurrogate at /jgsi/portal_skins/JQuery>, REQUEST = <HTTPRequest, URL=None> /var/www/jgsi_beta/lib/python2.4/site-packages/zopelib-2.10.5.0-py2.4-linux-x86_64.egg/OFS/ObjectManager.py in __getitem__(self=<DirectoryViewSurrogate at /jgsi/portal_skins/JQuery>, key=None) 742 743 def __getitem__(self, key): 744 v=self._getOb(key, None) 745 if v is not None: return v 746 if hasattr(self, 'REQUEST'): v undefined, self = <DirectoryViewSurrogate at /jgsi/portal_skins/JQuery>, self._getOb = <bound method DirectoryViewSurrogate._getOb of <...ctoryViewSurrogate at /jgsi/portal_skins/JQuery>>, key = None, builtin None = None /var/www/jgsi_beta/lib/python2.4/site-packages/zopelib-2.10.5.0-py2.4-linux-x86_64.egg/OFS/ObjectManager.py in _getOb(self=<DirectoryViewSurrogate at /jgsi/portal_skins/JQuery>, id=None, default=None) 285 # on performance as things are currently implemented, so for 286 # the moment we just make sure not to expose private attrs. 287 if id[:1] != '_' and hasattr(aq_base(self), id): 288 return getattr(self, id) 289 if default is _marker: id = None, builtin hasattr = <built-in function hasattr>, global aq_base = <built-in function aq_base>, self = <DirectoryViewSurrogate at /jgsi/portal_skins/JQuery> TypeError: unsubscriptable object args = ('unsubscriptable object',) ---------- messages: 83 nosy: ddurham priority: bug status: unread title: Edit portal_skins __________________________________ Repoze Bugs <[EMAIL PROTECTED]> <http://bugs.repoze.org/issue28> __________________________________ _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev