From f2ad10a97d59a7abf994facdd2180a356fdd701f Mon Sep 17 00:00:00 2001
From: Christian Albrecht <christian.albrecht@mayflower.de>
Date: Sun, 26 Aug 2012 09:11:19 +0200
Subject: [PATCH 1/2] Add arte.tv Info Extractor

---
 youtube_dl/InfoExtractors.py | 155 +++++++++++++++++++++++++++++++++++
 youtube_dl/__init__.py       |   1 +
 2 files changed, 156 insertions(+)

diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py
index ddb4aa16b9..82459e7a80 100644
--- a/youtube_dl/InfoExtractors.py
+++ b/youtube_dl/InfoExtractors.py
@@ -1077,6 +1077,161 @@ class VimeoIE(InfoExtractor):
 		}]
 
 
+class ArteTvIE(InfoExtractor):
+        """arte.tv information extractor."""
+
+        _VALID_URL = r'(?:http://)?videos\.arte\.tv/(?:fr|de)/videos/.*'
+        _LIVE_URL = r'index-[0-9]+\.html$'
+
+        IE_NAME = u'arte.tv'
+
+        def __init__(self, downloader=None):
+                InfoExtractor.__init__(self, downloader)
+
+        def report_download_webpage(self, video_id):
+                """Report webpage download."""
+                self._downloader.to_screen(u'[arte.tv] %s: Downloading webpage' % video_id)
+
+        def report_extraction(self, video_id):
+                """Report information extraction."""
+                self._downloader.to_screen(u'[arte.tv] %s: Extracting information' % video_id)
+
+        def fetch_webpage(self, url):
+                self._downloader.increment_downloads()
+                request = urllib2.Request(url)
+                try:
+                        self.report_download_webpage(url)
+                        webpage = urllib2.urlopen(request).read()
+                except (urllib2.URLError, httplib.HTTPException, socket.error), err:
+                        self._downloader.trouble(u'ERROR: Unable to retrieve video webpage: %s' % str(err))
+                        return
+                except ValueError, err:
+                        self._downloader.trouble(u'ERROR: Invalid URL: %s' % url)
+                        return
+                return webpage
+
+        def grep_webpage(self, url, regex, regexFlags, matchTuples):
+                page = self.fetch_webpage(url)
+                mobj = re.search(regex, page, regexFlags)
+                info = {}
+
+                if mobj is None:
+                    self._downloader.trouble(u'ERROR: Invalid URL: %s' % url)
+                    return
+
+                for (i, key, err) in matchTuples:
+                    if mobj.group(i) is None:
+                        self._downloader.trouble(err)
+                        return
+                    else:
+                        info[key] = mobj.group(i)
+
+                return info
+
+        def extractLiveStream(self, url):
+
+                video_lang = url.split('/')[-4]
+
+                info = self.grep_webpage(
+                    url,
+                    r'src="(.*?/videothek_js.*?\.js)',
+                    0,
+                    [
+                        (1, 'url', u'ERROR: Invalid URL: %s' % url)
+                    ]
+                )
+
+                http_host = url.split('/')[2]
+                next_url = 'http://%s%s' % (http_host, urllib.unquote(info.get('url')))
+
+                info = self.grep_webpage(
+                    next_url,
+                    r'(s_artestras_scst_geoFRDE_' + video_lang + '.*?)\'.*?' +
+                     '(http://.*?\.swf).*?' +
+                     '(rtmp://.*?)\'',
+                    re.DOTALL,
+                    [
+                        (1, 'path',   u'ERROR: could not extract video path: %s' % url),
+                        (2, 'player', u'ERROR: could not extract video player: %s' % url),
+                        (3, 'url',    u'ERROR: could not extract video url: %s' % url)
+                    ]
+                )
+
+                video_url = u'%s/%s' % (info.get('url'), info.get('path'))
+
+                print u'rtmpdump --swfVfy \'%s\' --rtmp \'%s\' --live -o arte-live.mp4' % (info.get('player'), video_url)
+
+        def extractPlus7Stream(self, url):
+
+                video_lang = url.split('/')[-3]
+
+                info = self.grep_webpage(
+                    url,
+                    r'param name="movie".*?videorefFileUrl=(http[^\'"&]*)',
+                    0,
+                    [
+                        (1, 'url', u'ERROR: Invalid URL: %s' % url)
+                    ]
+                )
+
+                next_url = urllib.unquote(info.get('url'))
+
+                info = self.grep_webpage(
+                    next_url,
+                    r'<video lang="%s" ref="(http[^\'"&]*)' % video_lang,
+                    0,
+                    [
+                        (1, 'url', u'ERROR: Could not find <video> tag: %s' % url)
+                    ]
+                )
+
+                next_url = urllib.unquote(info.get('url'))
+
+                info = self.grep_webpage(
+                    next_url,
+                    r'<video id="(.*?)".*?>.*?' +
+                     '<name>(.*?)</name>.*?' +
+                     '<dateVideo>(.*?)</dateVideo>.*?' +
+                     '<url quality="hd">(.*?)</url>',
+                    re.DOTALL,
+                    [
+                        (1, 'id',    u'ERROR: could not extract video id: %s' % url),
+                        (2, 'title', u'ERROR: could not extract video title: %s' % url),
+                        (3, 'date',  u'ERROR: could not extract video date: %s' % url),
+                        (4, 'url',   u'ERROR: could not extract video url: %s' % url)
+                    ]
+                )
+
+                return {
+                    'id':           info.get('id'),
+                    'url':          urllib.unquote(info.get('url')),
+                    'uploader':     u'arte.tv',
+                    'upload_date':  info.get('date'),
+                    'title':        info.get('title'),
+                    'ext':          u'mp4',
+                    'format':       u'NA',
+                    'player_url':   None,
+                }
+
+        def _real_extract(self, url):
+
+                video_id = url.split('/')[-1]
+
+                self.report_extraction(video_id)
+
+                if re.search(self._LIVE_URL, video_id) is not None:
+                    self.extractLiveStream(url)
+                    return
+                else:
+                    info = self.extractPlus7Stream(url)
+
+                try:
+                        # Process video information
+                        self._downloader.process_info(info)
+                except UnavailableVideoError, err:
+                        self._downloader.trouble(u'\nERROR: unable to download video')
+
+
 class GenericIE(InfoExtractor):
 	"""Generic last-resort information extractor."""
 
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py
index 86951840de..13cf77896e 100644
--- a/youtube_dl/__init__.py
+++ b/youtube_dl/__init__.py
@@ -351,6 +351,7 @@ def gen_extractors():
 		MixcloudIE(),
 		StanfordOpenClassroomIE(),
 		MTVIE(),
+                ArteTvIE(),
 
 		GenericIE()
 	]

From 2ebc6e6a92ae7dd7cdc281f3cf402a031ba6aa03 Mon Sep 17 00:00:00 2001
From: Christian Albrecht <alab1001101@gmail.com>
Date: Sun, 26 Aug 2012 09:57:49 +0200
Subject: [PATCH 2/2] Make youtube-dl

---
 youtube-dl | Bin 40997 -> 42099 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/youtube-dl b/youtube-dl
index 789cb58f53739e4931ca05425c26f6f87b0fff8c..3d173e4ce94a7a320e9190c58566adac1490ece5 100755
GIT binary patch
delta 17415
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

delta 16315
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
V4`lx||Bxlimk>dK=lw_I{{eq9q_zM6