Commit b25b7dde authored by Brian Lloyd's avatar Brian Lloyd

Changed handling of missing docstring to be more descriptive and to

not mask missing docstring errors when not in debug mode.
parent fa6133bc
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
# attributions are listed in the accompanying credits file. # attributions are listed in the accompanying credits file.
# #
############################################################################## ##############################################################################
__version__='$Revision: 1.40 $'[11:-2] __version__='$Revision: 1.41 $'[11:-2]
from string import join, split, find, rfind, lower, upper from string import join, split, find, rfind, lower, upper
from urllib import quote from urllib import quote
...@@ -372,15 +372,18 @@ class BaseRequest: ...@@ -372,15 +372,18 @@ class BaseRequest:
else: else:
return response.notFoundError(URL) return response.notFoundError(URL)
try: # Ensure that the object has a docstring, or that the parent
try: doc=subobject.__doc__ # object has a pseudo-docstring for the object. Objects that
except: doc=getattr(object, entry_name+'__doc__') # have an empty or missing docstring are not published.
if not doc: raise AttributeError, entry_name doc = getattr(subobject, '__doc__', None)
except: if doc is None:
if debug_mode: doc = getattr(object, '%s__doc__' % entry_name, None)
if not doc:
return response.debugError( return response.debugError(
"Missing doc string at: %s" % URL) "The object at %s has an empty or missing " \
else: return response.notFoundError("%s" % URL) "docstring. Objects must have a docstring to be " \
"published." % URL
)
r = getattr(subobject, '__roles__', UNSPECIFIED_ROLES) r = getattr(subobject, '__roles__', UNSPECIFIED_ROLES)
if r is not UNSPECIFIED_ROLES: if r is not UNSPECIFIED_ROLES:
......
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