code: def docroutine(self, object, name, mod=None,
                     funcs={}, classes={}, methods={}, cl=None):
          
  
          anchor = (cl and cl.__name__ or '') + '-' + name
          note = ''
  
          title = '<a name="%s"><strong>%s</strong></a>' % (
              self.escape(anchor), self.escape(name))
  
          if inspect.ismethod(object):
              args = inspect.getfullargspec(object)
              # exclude the argument bound to the instance, it will be
              # confusing to the non-Python user
              argspec = inspect.formatargspec (
                      args.args[1:],
                      args.varargs,
                      args.varkw,
                      args.defaults,
                      annotations=args.annotations,
                      formatvalue=self.formatvalue
                  )
          elif inspect.isfunction(object):
              args = inspect.getfullargspec(object)
              argspec = inspect.formatargspec(
                  args.args, args.varargs, args.varkw, args.defaults,
                  annotations=args.annotations,
                  formatvalue=self.formatvalue)
          else:
              argspec = '(...)'
  
          if isinstance(object, tuple):
              argspec = object[0] or argspec
              docstring = object[1] or ""
          else:
              docstring = pydoc.getdoc(object)
  
          decl = title + argspec + (note and self.grey(
                 '<font face="helvetica, arial">%s</font>' % note))
  
          doc = self.markup(
              docstring, self.preformat, funcs, classes, methods)
          doc = doc and '<dd><tt>%s</tt></dd>' % doc
          return '<dl><dt>%s</dt>%s</dl>\n' % (decl, doc)
docs: Produce HTML documentation for a function or method object.