'Return all the distribution names known to this locator.'

def get_distribution_names(self):

    result = set()
    for (root, dirs, files) in os.walk(self.base_dir):
        for fn in files:
            if self.should_include(fn, root):
                fn = os.path.join(root, fn)
                url = urlunparse(('file', '', pathname2url(os.path.abspath(fn)), '', '', ''))
                info = self.convert_url_to_download_info(url, None)
                if info:
                    result.add(info['name'])
        if (not self.recursive):
            break
    return result
