Немного добаботал свой стародавний микро-модуль для загрузки файлов из сети. Что было сделано:

  • привел в порядок код;
  • добавил отображение полосы и скорости загрузки;
  • обработка и отображение ошибок;
  • теперь загрузка происходит в файл с расширением .pyflget и по завершении загрузки переименовывается в исходный;
  • безопасная загрузка: локальный файл с таким же именем не заменяется;
  • публикация проекта на github.com

Пример использования:

1
2
3
4
5
6
7
8
9
from pyfileget import download, DownloadError
path = "path/to/save"
url = "http://mirror.yandex.ru/ubuntu-releases/13.10/ubuntu-13.10-desktop-i386.iso"
try:
    newPath = download(url, path)
except (DownloadError, KeyboardInterrupt), e:
    print e, "Download aborted.\n"
else:
    print "\nFile [%s] has been downloaded.\n" % newPath

Загрузить весь проект вместе с модулями pynetspeed и downloaderror можно на странице проекта на github.com.