[Python-checkins] CVS: python/dist/src/Lib pydoc.py,1.29,1.30

Ka-Ping Yee ping@users.sourceforge.net
2001年4月12日 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
 

AltStyle によって変換されたページ (->オリジナル) /