Commit aadebc3f authored by Jim Fulton's avatar Jim Fulton

Changed to use standard error machinery.

The previous non-standard machinery didn't like
error instances.
parent 9de16f7c
...@@ -235,41 +235,19 @@ class ExternalMethod(OFS.SimpleItem.Item, Persistent, Explicit, ...@@ -235,41 +235,19 @@ class ExternalMethod(OFS.SimpleItem.Item, Persistent, Explicit,
__traceback_info__=args, kw, self.func_defaults __traceback_info__=args, kw, self.func_defaults
try: try:
try: try: return apply(f,args,kw)
try: return apply(f,args,kw) except TypeError, v:
except TypeError, v:
tb=sys.exc_traceback
try:
if ((self.func_code.co_argcount-
len(self.func_defaults or ()) - 1 == len(args))
and self.func_code.co_varnames[0]=='self'):
return apply(f,(self.aq_parent,)+args,kw)
raise TypeError, v, tb
finally: tb=None
except:
error_type=sys.exc_type
error_value=sys.exc_value
tb=sys.exc_traceback tb=sys.exc_traceback
if lower(error_type) in ('redirect',):
raise error_type, error_value, tb
if (type(error_value) is type('') and
regex.search('[a-zA-Z]>', error_value) > 0):
error_message=error_value
else:
error_message=''
error_tb=pretty_tb(error_type, error_value, tb)
c=self.aq_parent
try: try:
s=getattr(c, 'standard_error_message') if ((self.func_code.co_argcount-
v=HTML.__call__(s, c, self.aq_acquire('REQUEST'), len(self.func_defaults or ()) - 1 == len(args))
error_type=error_type, and self.func_code.co_varnames[0]=='self'):
error_value=error_value, return apply(f,(self.aq_parent,)+args,kw)
error_tb=error_tb, error_traceback=error_tb,
error_message=error_message) raise TypeError, v, tb
except: v='Sorry, an error occured' finally: tb=None
raise error_type, v, tb except:
finally: tb=None self.raise_standardErrorMessage()
def function(self): return self._function def function(self): return self._function
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment