def _download_ftp(self, url, dest_file):

    def _report(blocknum, blocksize, totalsize):
        if (not totalsize):
            return
        percent = (((100.0 * blocknum) * blocksize) / totalsize)
        self._showDownloadProgress(dest_file, percent)
    url = parse.quote(url, safe=':/@')
    request.urlretrieve(url, dest_file, _report)
def _download_ftp(self, url, dest_file):

    def _report(blocknum, blocksize, totalsize):
        if (not totalsize):
            return
        percent = (((100.0 * blocknum) * blocksize) / totalsize)
        self._showDownloadProgress(dest_file, percent)
    url = parse.quote(url, safe=':/@')
    request.urlretrieve(url, dest_file, _report)