+++ /dev/null
-Index: youtubeplayer/src/YouTubeInterface.py
-===================================================================
---- youtubeplayer/src/YouTubeInterface.py (revision 3)
-+++ youtubeplayer/src/YouTubeInterface.py (revision 5)
-@@ -27,15 +27,25 @@
-
- from twisted.web.client import downloadPage
-
--from urllib2 import urlopen, Request, URLError, HTTPError, quote
-+from urllib2 import urlopen, Request, URLError, HTTPError, quote, unquote
-
--from httplib import HTTPConnection
-+from httplib import HTTPConnection,CannotSendRequest,BadStatusLine,HTTPException
-
- from socket import gaierror
-
-+import socket
- import os
- import re
-
-+
-+std_headers = {
-+ 'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2',
-+ 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
-+ 'Accept': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
-+ 'Accept-Language': 'en-us,en;q=0.5',
-+}
-+
-+
- # http://code.google.com/apis/youtube/reference.html#youtube_data_api_tag_media:group
-
-
-@@ -160,7 +170,13 @@
- print "[YTB] YouTubeEntry::getYouTubeId()"
- ret = None
- if self.entry.media.player:
-- ret = self.entry.media.player.url.split("=").pop()
-+ split = self.entry.media.player.url.split("=")
-+ ret = split.pop()
-+ if ret == 'youtube_gdata':
-+ tmpval=split.pop()
-+ if tmpval.endswith("&feature"):
-+ tmp = tmpval.split("&")
-+ ret = tmp.pop(0)
- return ret
-
-
-@@ -232,33 +248,60 @@
-
- def getVideoUrl(self, fmt):
- mrl = None
-- req = Request("http://www.youtube.com/watch?v=" + quote(self.getYouTubeId()))
-+ isHDAvailable = False
-+ video_id = str(self.getYouTubeId())
-+ watch_url = "http://www.youtube.com/watch?v=" + video_id
-+ watchrequest = Request(watch_url, None, std_headers)
- try:
-- response = urlopen(req)
-- except HTTPError, e:
-- print "[YTB] The server coundn't fulfill the request."
-- print "[YTB] Error code: ", e.code
-- except URLError, e:
-- print "[YTB] We failed to reach a server."
-- print "[YTB] Reason: ", e.reason
-+ print "trying to find out if a HD Stream is available"
-+ watchvideopage = urlopen(watchrequest).read()
-+ except (URLError, HTTPException, socket.error), err:
-+ print "[MyTube] Error: Unable to retrieve watchpage"
-+ print "[MyTube] Error code: ", str(err)
-+ print "[MyTube] No valid mp4-url found"
-+ return mrl
-+
-+ if "isHDAvailable = true" in watchvideopage:
-+ isHDAvailable = True
-+ print "HD AVAILABLE"
- else:
-- while not None:
-- data = response.readline()
-- if data == "":
-- break
-- m = re.search("watch_fullscreen\\?(?P<vid_query>.*?)&title=(?P<name>.*)';\n", data)
-- if m:
-- break
-- response.close
-- if m:
-- mrl = "http://www.youtube.com/get_video?video_id=" + quote(self.getYouTubeId()) + "&t=" + quote(re.match (".*[?&]t=([^&]+)", m.group('vid_query')).groups()[0]) + "&fmt=" + fmt
--#"&sk=" + quote(re.match (".*[?&]sk=([^&]+)", m.group('vid_query')).groups()[0]) + fmt
-- print "[YTB] Playing ", mrl
-+ print "HD Stream NOT AVAILABLE"
-+
-+ # Get video info
-+ info_url = 'http://www.youtube.com/get_video_info?&video_id=%s&el=detailpage&ps=default&eurl=&gl=US&hl=en' % video_id
-+ inforequest = Request(info_url, None, std_headers)
-+ try:
-+ print "getting video_info_webpage",info_url
-+ infopage = urlopen(inforequest).read()
-+ except (URLError, HTTPException, socket.error), err:
-+ print "[MyTube] Error: Unable to retrieve infopage"
-+ print "[MyTube] Error code: ", str(err)
-+ print "[MyTube] No valid mp4-url found"
-+ return mrl
-+
-+ mobj = re.search(r'(?m)&token=([^&]+)(?:&|$)', infopage)
-+ if mobj is None:
-+ # was there an error ?
-+ mobj = re.search(r'(?m)&reason=([^&]+)(?:&|$)', infopage)
-+ if mobj is None:
-+ print 'ERROR: unable to extract "t" parameter for unknown reason'
- else:
-- print "[YTB] No valid flv-mrl found"
-- return mrl
-+ reason = unquote_plus(mobj.group(1))
-+ print 'ERROR: YouTube said: %s' % reason.decode('utf-8')
-+ return mrl
-+
-+ token = unquote(mobj.group(1))
-+ myurl = 'http://www.youtube.com/get_video?video_id=%s&t=%s' % (video_id, token)
-+ if isHDAvailable is True:
-+ mrl = '%s&fmt=%s' % (myurl, '22')
-+ print "[MyTube] GOT HD URL: ", mrl
-+ else:
-+ mrl = '%s&fmt=%s' % (myurl, '18')
-+ print "[MyTube] GOT SD URL: ", mrl
-
-+ return myurl
-
-+
- def getDuration(self):
- if self.entry.media is not None and self.entry.media.duration is not None:
- return self.entry.media.duration.seconds
-Index: webinterface/src/web-data/tpl/default/index.html
-===================================================================
---- webinterface/src/web-data/tpl/default/index.html (revision 3)
-+++ webinterface/src/web-data/tpl/default/index.html (revision 5)
-@@ -5,7 +5,7 @@
-
- <head>
- <meta content="text/html; charset=UTF-8" http-equiv="content-type">
-- <title>Dreambox WebControl</title>
-+ <title>Vu+ WebControl</title>
-
- <link href="/web-data/tpl/default/style.css" type="text/css" rel="stylesheet">
- <link rel="shortcut icon" type="/web-data/image/x-icon" href="/web-data/img/favicon.ico">
-@@ -81,7 +81,7 @@
- <span id="notification"><div></div></span>
- <div id="bannerLeft">
- <div id="bannerText" style="font-size: 24px;">
-- <img src="/web-data/img/dreamboxweb.png" alt="Dreambox Web">
-+ <img src="/web-data/img/dreamboxweb.png" alt="STB Web">
- </div>
- <ul id="mainMenu">
- <li><a href="#" onClick="switchMode('TV')">TeleVision</a></li>
-Index: webinterface/src/web-data/img/dreamboxweb.png
-===================================================================
-Cannot display: file marked as a binary type.
-svn:mime-type = application/octet-stream
-Index: webinterface/src/web-data/img/favicon.ico
-===================================================================
-Cannot display: file marked as a binary type.
-svn:mime-type = application/octet-stream
-Index: networkwizard/src/NetworkWizard.py
-===================================================================
---- networkwizard/src/NetworkWizard.py (revision 3)
-+++ networkwizard/src/NetworkWizard.py (revision 5)
-@@ -44,21 +44,19 @@
- <convert type="StringList" />
- </widget>
- <widget name="config" position="53,340" zPosition="1" size="440,180" transparent="1" scrollbarMode="showOnDemand" />
-- <ePixmap pixmap="skin_default/buttons/button_red.png" position="40,225" zPosition="0" size="15,16" transparent="1" alphatest="on" />
-+ <ePixmap pixmap="750S/buttons/button_red.png" position="33,222" zPosition="0" size="22,22" transparent="1" alphatest="on" />
- <widget name="languagetext" position="55,225" size="95,30" font="Regular;18" />
-- <widget name="wizard" pixmap="skin_default/wizard.png" position="40,50" zPosition="10" size="110,174" alphatest="on" />
-- <widget name="rc" pixmaps="skin_default/rc.png,skin_default/rcold.png" position="500,50" zPosition="10" size="154,500" alphatest="on" />
-- <widget name="arrowdown" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
-- <widget name="arrowdown2" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
-- <widget name="arrowup" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
-- <widget name="arrowup2" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
-+ <widget name="rc" pixmaps="750S/rc.png,750S/rcold.png" position="530,50" zPosition="10" size="154,500" alphatest="blend" />
-+ <widget name="arrowdown" pixmap="750S/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="blend" />
-+ <widget name="arrowdown2" pixmap="750S/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="blend" />
-+ <widget name="arrowup" pixmap="750S/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="blend" />
-+ <widget name="arrowup2" pixmap="750S/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="blend" />
- </screen>"""
- def __init__(self, session):
- self.xmlfile = resolveFilename(SCOPE_PLUGINS, "SystemPlugins/NetworkWizard/networkwizard.xml")
- WizardPluginLanguage.__init__(self, session, showSteps = False, showStepSlider = False)
- Rc.__init__(self)
- self.session = session
-- self["wizard"] = Pixmap()
-
- self.InterfaceState = None
- self.isInterfaceUp = None
-Index: networkwizard/src/networkwizard.xml
-===================================================================
---- networkwizard/src/networkwizard.xml (revision 3)
-+++ networkwizard/src/networkwizard.xml (revision 5)
-@@ -1,6 +1,6 @@
- <wizard>
- <step id="welcome" nextstep="selectinterface">
-- <text value="Welcome.\n\nIf you want to connect your Dreambox to the Internet, this wizard will guide you through the basic network setup of your Dreambox.\n\nPress OK to start configuring your network" />
-+ <text value="Welcome.\n\nIf you want to connect your STB to the Internet, this wizard will guide you through the basic network setup of your STB.\n\nPress OK to start configuring your network" />
- <displaytext value="Network Wizard" />
- <code>
- self.clearSelectedKeys()
-@@ -57,7 +57,7 @@
- <condition>
- self.condition = (self.InterfaceState == True )
- </condition>
-- <text value="Your Dreambox is now ready to use.\n\nYour internet connection is working now.\n\nPlease press OK to continue." />
-+ <text value="Your STB is now ready to use.\n\nYour internet connection is working now.\n\nPlease press OK to continue." />
- <displaytext value="Please follow the instructions on the TV" />
- <code>
- self.clearSelectedKeys()
+++ /dev/null
-Index: skins/BrushedAlu-HD/skin.xml\r
-===================================================================\r
---- skins/BrushedAlu-HD/skin.xml (revision 2)\r
-+++ skins/BrushedAlu-HD/skin.xml (working copy)\r
-@@ -2416,7 +2416,7 @@\r
- </convert>
- </widget>
- <eLabel position="479,124" zPosition="3" size="696,377" backgroundColor="#ff000000" />
-- <widget name="Video" position="270,100" zPosition="-10" size="390,300" />
-+ <widget name="Video" position="483,126" zPosition="-10" size="688,373" />
- <widget source="session.CurrentService" render="Label" position="450,510" size="790,30" zPosition="3" font="Regular;24" halign="center" valign="center" backgroundColor="black" transparent="1">
- <convert type="ServiceName">Name</convert>
- </widget>
-@@ -4069,4 +4069,4 @@\r
- <convert type="ConditionalShowHide">Blink</convert>
- </widget>
- </screen>
--</skin>\r
-\ No newline at end of file\r
-+</skin>
-Index: skins/dreamTV-HD/skin.xml\r
-===================================================================\r
---- skins/dreamTV-HD/skin.xml (revision 2)\r
-+++ skins/dreamTV-HD/skin.xml (working copy)\r
-@@ -743,7 +743,7 @@\r
- </convert>
- </widget>
- <eLabel position="479,124" zPosition="3" size="696,377" backgroundColor="#ff000000" />
-- <widget name="Video" position="270,100" zPosition="-10" size="390,300" />
-+ <widget name="Video" position="483,126" zPosition="-10" size="688,373" />
- <widget source="session.CurrentService" render="Label" position="450,510" size="790,30" zPosition="3" font="Regular;24" halign="center" valign="center" backgroundColor="black" transparent="1">
- <convert type="ServiceName">Name</convert>
- </widget>
-@@ -2439,4 +2439,4 @@\r
- <convert type="ConditionalShowHide">Blink</convert>
- </widget>
- </screen>
--</skin>\r
-\ No newline at end of file\r
-+</skin>
-Index: skins/dTV-HD/skin.xml\r
-===================================================================\r
---- skins/dTV-HD/skin.xml (revision 2)\r
-+++ skins/dTV-HD/skin.xml (working copy)\r
-@@ -667,7 +667,7 @@\r
- </widget>
- <eLabel position="477,122" size="700,381" backgroundColor="darkgrey" />
- <eLabel position="479,124" size="696,377" zPosition="3" backgroundColor="#ff000000" />
-- <widget name="Video" position="270,100" zPosition="-10" size="390,300" />
-+ <widget name="Video" position="483,126" zPosition="-10" size="688,373" />
- <widget source="session.CurrentService" render="Label" position="450,510" size="790,30" zPosition="3" font="Regular;24" halign="center" valign="center" backgroundColor="black" transparent="1">
- <convert type="ServiceName">Name</convert>
- </widget>
-@@ -2591,4 +2591,4 @@\r
- <convert type="ConditionalShowHide">Blink</convert>
- </widget>
- </screen>
--</skin>\r
-\ No newline at end of file\r
-+</skin>
-Index: skins/SWAIN-HD/skin.xml\r
-===================================================================\r
---- skins/SWAIN-HD/skin.xml (revision 2)\r
-+++ skins/SWAIN-HD/skin.xml (working copy)\r
-@@ -604,7 +604,7 @@\r
- </convert>
- </widget>
- <eLabel position="479,124" zPosition="3" size="696,377" backgroundColor="#ff000000"/>
-- <widget name="Video" position="270,100" zPosition="-10" size="390,300"/>
-+ <widget name="Video" position="483,126" zPosition="-10" size="688,373" />
- <widget source="session.CurrentService" render="Label" position="450,510" size="790,30" zPosition="3" font="Regular;24" halign="center" valign="center" backgroundColor="black" transparent="1">
- <convert type="ServiceName">Name</convert>
- </widget>
-@@ -2201,4 +2201,4 @@\r
- <convert type="ConditionalShowHide">Blink</convert>
- </widget>
- </screen>
--</skin>\r
-\ No newline at end of file\r
-+</skin>