'Sort locations into "files" (archives) and "urls", and return
a pair of lists (files,urls)'

def _sort_locations(self, locations):

    files = []
    urls = []
    def sort_path(path):
        url = path_to_url(path)
        if (mimetypes.guess_type(url, strict=False)[0] == 'text/html'):
            urls.append(url)
        else:
            files.append(url)
    for url in locations:
        is_local_path = os.path.exists(url)
        is_file_url = url.startswith('file:')
        is_find_link = (url in self.find_links)
        if (is_local_path or is_file_url):
            if is_local_path:
                path = url
            else:
                path = url_to_path(url)
            if (is_find_link and os.path.isdir(path)):
                path = os.path.realpath(path)
                for item in os.listdir(path):
                    sort_path(os.path.join(path, item))
            elif (is_file_url and os.path.isdir(path)):
                urls.append(url)
            elif os.path.isfile(path):
                sort_path(path)
        else:
            urls.append(url)
    return (files, urls)
