[Python-checkins] CVS: python/dist/src/Lib pydoc.py,1.29,1.30
Ka-Ping Yee
ping@users.sourceforge.net
Thu, 12 Apr 2001 13:39:16 -0700
Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv10514
Modified Files:
pydoc.py
Log Message:
Fix linking to classes (in class tree, and add links on unbound methods).
Index: pydoc.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/pydoc.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -r1.29 -r1.30
*** pydoc.py 2001/04/12 20:27:31 1.29
--- pydoc.py 2001/04/12 20:39:14 1.30
***************
*** 343,352 ****
return name
! def classlink(self, object, modname, *dicts):
"""Make a link for a class."""
name = classname(object, modname)
! for dict in dicts:
! if dict.has_key(object):
! return '<a href="%s">%s</a>' % (dict[object], name)
return name
--- 343,353 ----
return name
! def classlink(self, object, modname):
"""Make a link for a class."""
name = classname(object, modname)
! if sys.modules.has_key(object.__module__) and \
! getattr(sys.modules[object.__module__], object.__name__) is object:
! return '<a href="%s.html#%s">%s</a>' % (
! object.__module__, object.__name__, name)
return name
***************
*** 406,410 ****
# ---------------------------------------------- type-specific routines
! def formattree(self, tree, modname, classes={}, parent=None):
"""Produce HTML for a class tree as given by inspect.getclasstree()."""
result = ''
--- 407,411 ----
# ---------------------------------------------- type-specific routines
! def formattree(self, tree, modname, parent=None):
"""Produce HTML for a class tree as given by inspect.getclasstree()."""
result = ''
***************
*** 413,426 ****
c, bases = entry
result = result + '<dt><font face="helvetica, arial"><small>'
! result = result + self.classlink(c, modname, classes)
if bases and bases != (parent,):
parents = []
for base in bases:
! parents.append(self.classlink(base, modname, classes))
result = result + '(' + join(parents, ', ') + ')'
result = result + '\n</small></font></dt>'
elif type(entry) is type([]):
result = result + '<dd>\n%s</dd>\n' % self.formattree(
! entry, modname, classes, c)
return '<dl>\n%s</dl>\n' % result
--- 414,427 ----
c, bases = entry
result = result + '<dt><font face="helvetica, arial"><small>'
! result = result + self.classlink(c, modname)
if bases and bases != (parent,):
parents = []
for base in bases:
! parents.append(self.classlink(base, modname))
result = result + '(' + join(parents, ', ') + ')'
result = result + '\n</small></font></dt>'
elif type(entry) is type([]):
result = result + '<dd>\n%s</dd>\n' % self.formattree(
! entry, modname, c)
return '<dl>\n%s</dl>\n' % result
***************
*** 506,511 ****
if classes:
classlist = map(lambda (key, value): value, classes)
! contents = [self.formattree(
! inspect.getclasstree(classlist, 1), name, cdict)]
for key, value in classes:
contents.append(self.document(value, key, name, fdict, cdict))
--- 507,512 ----
if classes:
classlist = map(lambda (key, value): value, classes)
! contents = [
! self.formattree(inspect.getclasstree(classlist, 1), name)]
for key, value in classes:
contents.append(self.document(value, key, name, fdict, cdict))
***************
*** 559,564 ****
parents = []
for base in bases:
! parents.append(
! self.classlink(base, object.__module__, classes))
title = title + '(%s)' % join(parents, ', ')
doc = self.markup(
--- 560,564 ----
parents = []
for base in bases:
! parents.append(self.classlink(base, object.__module__))
title = title + '(%s)' % join(parents, ', ')
doc = self.markup(
***************
*** 584,597 ****
if cl:
if imclass is not cl:
! url = '%s.html#%s-%s' % (
! imclass.__module__, imclass.__name__, name)
! note = ' from <a href="%s">%s</a>' % (
! url, classname(imclass, mod))
skipdocs = 1
else:
! inst = object.im_self
! note = (inst and
! ' method of %s instance' % classname(inst.__class__, mod) or
! ' unbound %s method' % classname(imclass, mod))
object = object.im_func
--- 584,595 ----
if cl:
if imclass is not cl:
! note = ' from ' + self.classlink(imclass, mod)
skipdocs = 1
else:
! if object.im_self:
! note = ' method of %s instance' % self.classlink(
! object.im_self.__class__, mod)
! else:
! note = ' unbound %s method' % self.classlink(imclass,mod)
object = object.im_func
***************
*** 849,856 ****
skipdocs = 1
else:
! inst = object.im_self
! note = (inst and
! ' method of %s instance' % classname(inst.__class__, mod) or
! ' unbound %s method' % classname(imclass, mod))
object = object.im_func
--- 847,855 ----
skipdocs = 1
else:
! if object.im_self:
! note = ' method of %s instance' % classname(
! object.im_self.__class__, mod)
! else:
! note = ' unbound %s method' % classname(imclass,mod)
object = object.im_func