'Return the location of module docs or None'

def getdocloc(self, object):

    try:
        file = inspect.getabsfile(object)
    except TypeError:
        file = '(built-in)'
    docloc = os.environ.get('PYTHONDOCS', 'http://docs.python.org/library')
    basedir = os.path.join(sys.exec_prefix, 'lib', ('python' + sys.version[0:3]))
    if (isinstance(object, type(os)) and ((object.__name__ in ('errno', 'exceptions', 'gc', 'imp', 'marshal', 'posix', 'signal', 'sys', 'thread', 'zipimport')) or (file.startswith(basedir) and (not file.startswith(os.path.join(basedir, 'site-packages'))))) and (object.__name__ not in ('xml.etree', 'test.pydoc_mod'))):
        if docloc.startswith('http://'):
            docloc = ('%s/%s' % (docloc.rstrip('/'), object.__name__))
        else:
            docloc = os.path.join(docloc, (object.__name__ + '.html'))
    else:
        docloc = None
    return docloc
