Chris McDonough <[EMAIL PROTECTED]> added the comment:

Have you confirmed that this doesn't happen under "stock" Plone?

David Durham wrote:
> New submission from David Durham <[EMAIL PROTECTED]>:
> 
> I went to /portal_skins/kupu_plone and edited kupucollection.xml.  I receive 
> the
> following error:
> 
> 
> AttributeError        Python 2.4.4: /usr/local/bin/python
> Tue May 6 12:40:37 2008
> 
> A problem occurred in a Python script. Here is the sequence of function calls
> leading up to the error, in the order they occurred.
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/Paste-1.5-py2.4.egg/paste/cgitb_catcher.py
>  in __call__(self=<paste.cgitb_catcher.CgitbMiddleware object>, 
> environ={'DOCUMENT_ROOT': '/sites/beta.jgsullivan.com-http-80', 
> '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_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
>  'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300', 
> ...}, start_response=<built-in method start_response of mod_wsgi.Adapter 
> object>)
>    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 =
> {'DOCUMENT_ROOT': '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION':
> 'keep-alive', 'HTTP_COOKIE':
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
> 'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300',
> ...}, start_response = <built-in method start_response of mod_wsgi.Adapter 
> object>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/Paste-1.5-py2.4.egg/paste/httpexceptions.py
>  in __call__(self=<paste.httpexceptions.HTTPExceptionHandler object>, 
> environ={'DOCUMENT_ROOT': '/sites/beta.jgsullivan.com-http-80', 
> '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_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
>  'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300', 
> ...}, start_response=<built-in method start_response of mod_wsgi.Adapter 
> object>)
>   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 = {'DOCUMENT_ROOT':
> '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION':
> 'keep-alive', 'HTTP_COOKIE':
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
> 'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300',
> ...}, start_response = <built-in method start_response of mod_wsgi.Adapter 
> object>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/repoze.retry-0.6-py2.4.egg/repoze/retry/__init__.py
>  in __call__(self=<repoze.retry.Retry instance>, environ={'DOCUMENT_ROOT': 
> '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
>  'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300', 
> ...}, start_response=<built-in method start_response of mod_wsgi.Adapter 
> object>)
>    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 = {'DOCUMENT_ROOT':
> '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION':
> 'keep-alive', 'HTTP_COOKIE':
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
> 'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300',
> ...}, self.buffer_start_response = <bound method Retry.buffer_start_response 
> of
> <repoze.retry.Retry instance>>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/repoze.tm-0.8-py2.4.egg/repoze/tm/__init__.py
>  in __call__(self=<repoze.tm.TM instance>, environ={'DOCUMENT_ROOT': 
> '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
>  'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', '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 = {'DOCUMENT_ROOT':
> '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION':
> 'keep-alive', 'HTTP_COOKIE':
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
> 'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300',
> ...}, start_response = <bound method Retry.buffer_start_response of
> <repoze.retry.Retry instance>>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/repoze.vhm-0.6-py2.4.egg/repoze/vhm/middleware.py
>  in __call__(self=<repoze.vhm.middleware.VHMFilter instance>, 
> environ={'DOCUMENT_ROOT': '/sites/beta.jgsullivan.com-http-80', 
> '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_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
>  'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', '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 = {'DOCUMENT_ROOT':
> '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION':
> 'keep-alive', 'HTTP_COOKIE':
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
> 'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300',
> ...}, start_response = <bound method Retry.buffer_start_response of
> <repoze.retry.Retry instance>>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/repoze.errorlog-0.5-py2.4.egg/repoze/errorlog/__init__.py
>  in __call__(self=<repoze.errorlog.ErrorLog instance>, 
> environ={'DOCUMENT_ROOT': '/sites/beta.jgsullivan.com-http-80', 
> '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_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
>  'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', '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 = {'DOCUMENT_ROOT':
> '/sites/beta.jgsullivan.com-http-80', '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_CONNECTION':
> 'keep-alive', 'HTTP_COOKIE':
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
> 'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300',
> ...}, start_response = <bound method Retry.buffer_start_response of
> <repoze.retry.Retry instance>>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/repoze.obob-0.3-py2.4.egg/repoze/obob/publisher.py
>  in __call__(self=<repoze.obob.publisher.ObobPublisher instance>, 
> environ={'DOCUMENT_ROOT': '/sites/beta.jgsullivan.com-http-80', 
> '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_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 
> 'tree-s="eJzTyCkw5NLIKTDiClZ3hALXJE9bda4CY67ERD0A...1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
>  'HTTP_HOST': 'beta.jgsullivan.dev.jgsullivan.com', 'HTTP_KEEP_ALIVE': '300', 
> ...}, start_response=<bound method Retry.buffer_start_response of 
> <repoze.retry.Retry instance>>)
>   162 
>   163                 helper.before_invoke(published)
>   164                 result = helper.invoke(published)
>   165 
>   166                 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 = <bound method
> ExternalEditor.index_html of <Prod...rnalEditor.ExternalEditor.ExternalEditor
> object>>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/repoze.zope2-0.3.7-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>>)
>   395                          handle_class = dont_publish_class,
>   396                          context = request,
>   397                          bind=1)
>   398 
>   399         return result
> bind undefined
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/repoze.zope2-0.3.7-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)
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/ploneproducts-3.1.1-py2.4.egg/Products/ExternalEditor/ExternalEditor.py
>  in index_html(self=<Products.ExternalEditor.ExternalEditor.ExternalEditor 
> object>, REQUEST=<HTTPRequest, URL=None>, RESPONSE=RepozeHTTPResponse(''), 
> path=None)
>   201             # of response headers should happen there, if possible.
>   202             try:
>   203                 body = ob.manage_FTPget()
>   204             except TypeError: # some need the R/R pair!
>   205                 body = ob.manage_FTPget(REQUEST, RESPONSE)
> body undefined, ob = <FSPageTemplate at
> /jgsi/portal_skins/kupu_plone/kupucollection.xml>, ob.manage_FTPget = <bound
> method FSPageTemplate.manage_FTPget of
> <F...jgsi/portal_skins/kupu_plone/kupucollection.xml>>
>  
> /sites/beta.jgsullivan.com-http-80/lib/python2.4/site-packages/zopelib-2.10.5.0-py2.4-linux-i686.egg/Products/PageTemplates/ZopePageTemplate.py
>  in manage_FTPget(self=<FSPageTemplate at 
> /jgsi/portal_skins/kupu_plone/kupucollection.xml>)
>   360         "Get source for FTP download"
>   361         result = self.read()
>   362         return result.encode(self.output_encoding)
>   363 
>   364     security.declareProtected(view_management_screens, 'html')
> result = u'<tal:block define="charset here/portal_propertie...s>\n
> </uploadbutton>\n </items>\n\n</collection>\n', result.encode = <built-in 
> method
> encode of unicode object>, self = <FSPageTemplate at
> /jgsi/portal_skins/kupu_plone/kupucollection.xml>, self.output_encoding 
> undefined
> 
> AttributeError: output_encoding
>       args = ('output_encoding',)
> 
> ----------
> messages: 99
> nosy: ddurham
> priority: bug
> status: unread
> title: editing a file in ZMI fails
> 
> __________________________________
> Repoze Bugs <[EMAIL PROTECTED]>
> <http://bugs.repoze.org/issue36>
> __________________________________
> _______________________________________________
> Repoze-dev mailing list
> Repoze-dev@lists.repoze.org
> http://lists.repoze.org/listinfo/repoze-dev
>

----------
status: unread -> chatting

__________________________________
Repoze Bugs <[EMAIL PROTECTED]>
<http://bugs.repoze.org/issue36>
__________________________________
_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to