self.get_urldata() is eqivalent to get_http_data(self.url), but
also caches the data, so no additional requests are made if it
is called multiple times (e.g when grabbing title or downloading
thumbnail).
Generic().get(url) still causes it to be fetched an extra time.
The default handle method will look for a supported_domains attribute
(a list), containing the supported domains. The subclassed service
class can of course override this if other means of determining support
is needded.
This introduces an external dependency for lxml (http://lxml.de/). The standard
library xml.etree doesn't support invalid XML and Vimeo's source is fairly
broken. There are several third party XML parsers so I just chose my favorite.
We might have been able to get away this time by using a regexp search but that
would have introduced brittle code instead.
I've also ripped out some old safeguards that didn't make sense anymore and
put the quality auto-selection code in a separate method. As the quality setting
on Vimeo is a string (hd, sd or mobile), we can't use
svtplay_dl.utils.select_quality which just picks the highest number in a list.
Signed-off-by: Anton Eliasson <devel@antoneliasson.se>