'Insert the description into the cache.'

def cache_insert(self, module, mtime, description, distribution=None, error=None):

    if isinstance(module, types.ModuleType):
        mod_path = module.__file__
        mod_name = module.__name__
    else:
        mod_path = module
        mod_name = None
    mod_path = fix_pyext(mod_path)
    project_name = project_version = None
    if (distribution is not None):
        project_name = distribution.project_name
        project_version = distribution.version
    exc_type = exc_val = None
    if (error is not None):
        if isinstance(error, type):
            exc_type = error
            exc_val = None
        elif isinstance(error, Exception):
            exc_type = type(error)
            exc_val = repr(error.args)
    self.cached_descriptions[mod_path] = _CacheEntry(mod_path, mod_name, mtime, project_name, project_version, exc_type, exc_val, description)
