From 1b639d7a1d12dde1f91411b3f2f01334070f79bd Mon Sep 17 00:00:00 2001 From: Robert McNamara Date: Tue, 7 Dec 2010 17:42:39 -0800 Subject: [PATCH] Internet Content: Update Dailymotion grabber to allow remote control. Dailymotion is painfully slow and has a tendency to start playing before it has nearly enough buffered, but it does work, as do all the supported controls. --- .../configs/HTML/dailymotion.html | 89 +++++++++++++++++++ .../dailymotion/dailymotion_api.py | 8 +- 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 mythtv/programs/scripts/internetcontent/nv_python_libs/configs/HTML/dailymotion.html diff --git a/mythtv/programs/scripts/internetcontent/nv_python_libs/configs/HTML/dailymotion.html b/mythtv/programs/scripts/internetcontent/nv_python_libs/configs/HTML/dailymotion.html new file mode 100644 index 00000000000..a9fdb66f44e --- /dev/null +++ b/mythtv/programs/scripts/internetcontent/nv_python_libs/configs/HTML/dailymotion.html @@ -0,0 +1,89 @@ + + + + + + + + + +
+ + diff --git a/mythtv/programs/scripts/internetcontent/nv_python_libs/dailymotion/dailymotion_api.py b/mythtv/programs/scripts/internetcontent/nv_python_libs/dailymotion/dailymotion_api.py index 249cdff2242..d4f502fc221 100644 --- a/mythtv/programs/scripts/internetcontent/nv_python_libs/dailymotion/dailymotion_api.py +++ b/mythtv/programs/scripts/internetcontent/nv_python_libs/dailymotion/dailymotion_api.py @@ -37,6 +37,7 @@ import os, struct, sys, re, time import urllib, urllib2 import logging +from MythTV import MythXML try: import xml.etree.cElementTree as ElementTree @@ -147,6 +148,7 @@ def __init__(self, """ self.config = {} + self.mythxml = MythXML() if apikey is not None: self.config['apikey'] = apikey @@ -697,6 +699,10 @@ def setTreeViewIcon(self, dir_icon=None): # ########################################################################################################### + def processVideoUrl(self, url): + playerUrl = self.mythxml.getInternetContentUrl("nv_python_libs/configs/HTML/dailymotion.html", \ + url.replace(u'http://www.dailymotion.com/swf/video/', '')) + return self.ampReplace(playerUrl) def searchTitle(self, title, pagenumber, pagelen): '''Key word video search of the Dailymotion web site @@ -927,7 +933,7 @@ def getVideosForURL(self, url, dictionaries): for elem in e: if elem.tag.endswith('content') and elem.get('type') == 'application/x-shockwave-flash': if elem.get('url'): - meta_data['video'] = self.ampReplace((elem.get('url')+u'?autoPlay=1')) + meta_data['video'] = self.processVideoUrl(elem.get('url')) if elem.get('duration'): meta_data['duration'] = elem.get('duration').strip() if elem.get('width'):