[prev in list] [next in list] [prev in thread] [next in thread]
List: zope-cvs
Subject: [Zope-Checkins] CVS: Zope/lib/python/ZPublisher - xmlrpc.py:1.15
From: Casey Duncan <casey () zope ! com>
Date: 2002-08-30 18:29:58
[Download RAW message or body]
Update of /cvs-repository/Zope/lib/python/ZPublisher
In directory cvs.zope.org:/tmp/cvs-serv28127/lib/python/ZPublisher
Modified Files:
xmlrpc.py
Log Message:
Refactored error message handling so that SimpleItem's raise_standardErrorMessage \
sniffs the response to see if it wants an html encoded error message or not.
If so, then standard_error_message is rendered as usual as the error value. Otherwise \
the error value text is passed through unchanged.
XML-RPC responses now request text/plain error format so that standard_error_message \
is not envoked to render the fault string. Because of this, the previous formatting \
code could be removed, although html tags are still stripped because error values \
themselves sometimes contain tags 8^/
=== Zope/lib/python/ZPublisher/xmlrpc.py 1.14 => 1.15 ===
--- Zope/lib/python/ZPublisher/xmlrpc.py:1.14 Fri Aug 30 11:15:01 2002
+++ Zope/lib/python/ZPublisher/xmlrpc.py Fri Aug 30 14:29:56 2002
@@ -82,9 +82,11 @@
It's probably possible to improve the 'exception' method quite a bit.
The current implementation, however, should suffice for now.
"""
+
+ _error_format = 'text/plain' # No html in error values
# Because we can't predict what kind of thing we're customizing,
- # we have to use delegation, rather than inheritence to do the
+ # we have to use delegation, rather than inheritance to do the
# customization.
def __init__(self, real): self.__dict__['_real']=real
@@ -132,20 +134,17 @@
Fault=xmlrpclib.Fault
f=None
try:
- # Strip HTML tags and format the error value
+ # Strip HTML tags from the error value
v = str(v)
- v = re.sub(r"<br\s*/?>", "\n", v)
remove = [r"<[^<>]*>", r"&[A-Za-z]+;"]
for pat in remove:
v = re.sub(pat, " ", v)
- v = re.sub(r"\n(?:\s*\n)+", "\n\n", v)
-
from Globals import DevelopmentMode
if DevelopmentMode:
from traceback import format_exception
- value = ''.join(format_exception(t, v, tb))
+ value = '\n' + ''.join(format_exception(t, v, tb))
else:
- value = '%s\n\n%s' % (t, v)
+ value = '%s - %s' % (t, v)
if isinstance(v, Fault):
f=v
_______________________________________________
Zope-Checkins maillist - Zope-Checkins@zope.org
http://lists.zope.org/mailman/listinfo/zope-checkins
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic