blob: e8db528fa26f7f31eba558483fb903169ffe7268 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
.. image:: https://badge.fury.io/py/dlmanager.svg
:target: https://pypi.python.org/pypi/dlmanager
.. image:: https://readthedocs.org/projects/dlmanager/badge/?version=latest
:target: http://dlmanager.readthedocs.org/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://travis-ci.org/parkouss/dlmanager.svg?branch=master
:target: https://travis-ci.org/parkouss/dlmanager
.. image:: https://codecov.io/github/parkouss/dlmanager/coverage.svg?branch=master
:target: https://codecov.io/github/parkouss/dlmanager?branch=master
dlmanager
=========
**dlmanager** is Python 2 and 3 download manager library, with the following
features:
- Download files in background and in parallel
- Cancel downloads
- store downloads in a given directory, avoiding re-downloading files
- Limit the size of this directory, removing oldest files
Example
-------
.. code-block:: python
from dlmanager import DownloadManager, PersistLimit
manager = DownloadManager(
"dlmanager-destir",
persist_limit=PersistLimit(
size_limit=1073741824, # 1 GB max
file_limit=10, # force to keep 10 files even if size_limit is reached
)
)
# Start downloads in background
# Note that if files are already present, this is a no-op.
manager.download(url1)
manager.download(url2)
# Wait for completion
try:
manager.wait()
except:
manager.cancel()
raise
Installation
------------
Use pip: ::
pip install -U dlmanager
|