Add-on:Simple Downloader for xbmc plugins

= Introduction = This is a downloader developed and used with the YouTube and BlipTV addons.

= Features =
 * One queue across all plugins
 * Requeing an existing item moves it to the front of the queue.
 * RTMP downloading if the rtmpdump binary is installed.
 * RTSP/mms downloading if the vlc or mplayer binary is installed.(And any other stream they accept)



= Testing/Status = Integration and unittests are run continously by Jenkins

http://tc.tobiasussing.dk/jenkins/view/Simple%20Downloader/

= Developers = This is a unified cross plugin http/rtmp downloader.

It is currently not possible to distribute the rtmpdump binary with this addon.

The user must make sure rtmpdump is installed in a system PATH for rtmp downloading to work.

Development and support thread: http://forum.xbmc.org/showthread.php?t=116500

Setup
To use the downloader edit your addon.xml like this.

  # Add this

And add the following to your py file.

import SimpleDownloader as downloader downloader = downloader.SimpleDownloader

You can now access the downloader through the "downloader" variable.

Debugging
To enable debugging set the following values in your default.py

dbg = True # Default

Or you can change it after import with.

downloader.dbg = True # Default

Whenever you debug your own code you should also debug in the cache. Otherwise you should remember to DISABLE it.

download(self, filename, dict = {})
Takes filename(string) and dictionary list with url and download_path.

The filename must be unique.

Input dictinary variables:
 * url(string): URL to download
 * Title(string): Title to give download. Use filename if not set.
 * download_path(string): Path to store file in
 * live(bool): Set to True when streaming rtmp live.
 * duration(int): Duration in minutes to download(For live streams).

Returns None

A simple http download params = { "url": "http://server.com/video.mp4", "download_path": "/tmp" } downloader.download("myvideo.mp4", params)

A simple http download with a custom title. params = { "url": "http://server.com/video.mp4", "download_path": "/tmp", "Title": "my video" } downloader.download("myvideo.mp4", params)

A simple RTMP download params = {"url": "rtmp://edge01.fms.dutchview.nl/botr/bunny", "download_path": "/tmp", "Title": "bunny"} downloader.download("bunny.mp4", params)

A simple RTMP Live download video = {"url": "rtmp://aljazeeraflashlivefs.fplive.net:1935/aljazeeraflashlive-live/aljazeera_english_1", "download_path": "/tmp", "Title": "Live Download", "live": "true", "duration": "10"} downloader.download("aljazeera-10minutes.mp4", params)

isRTMPInstalled
Returns True if rtmpdump is installed

isVLCInstalled
Returns True if vlc is installed

isMPlayerInstalled
Returns True if mplayer is installed