WebDL is a set of Python scripts to grab video from online Free To Air Australian channels.
-## Installation
+## News
+
+### 2017-02-24
+* Now requires Python3, use the `python2` branch if you need the old version.
+* Recommended installation is now with `virtualenv` and `pip` to install dependencies.
+* Removed some custom logic in favour of the `requests` and `requests_cache` libraries.
+* `autograbber.py` can write to multiple directories, previous command line args are still supported.
+
+
+## Installation using pip
Install the following packages using your package manager:
-* Python 3.2+
+* Python 3.2+ (including dev package)
* ffmpeg or libav-tools
Clone the WebDL repository:
pip install -r requirements.txt
```
+Whenever you want to run WebDL you must source the `.virtualenv/bin/activate` script from your shell.
+
+
+## Installation on Debian/Ubuntu
+
+Install Python 3 and needed libraries:
+```
+apt-get install python3 python3-lxml python3-requests python3-requests-cache
+```
+
+
+Install Livestreamer and PyCrypto. Ubuntu packages this as Python 2:
+```
+apt-get install livestreamer python-crypto
+```
+
+
+Install ffmpeg:
+```
+apt-get install ffmpeg
+```
+
## Interactive usage (grabber.py)
You can run WebDL interactively to browse categories and episode lists and download TV episodes.
## Cron scripted usage (autograbber.py)
-You can schedule a regular download of your favourite shows.
+You can schedule a regular download of your favourite shows. This example uses `chronic` from `moreutils`.
```
# m h dom mon dow command
- 0 1 * * * ./autograbber.py /videos/ABC4Kids /videos/Insight
+ 0 1 * * * timeout 6h chronic $HOME/webdl/autograbber-cron.sh /videos/ABC4Kids /videos/Insight
```
Each of these directories should contain a `.patterns.txt` with shell-style globs: