Python downloader with progress