[tapely] Catch SoundCloud tracks
authorNaglis Jonaitis <njonaitis@gmail.com>
Wed, 1 Oct 2014 18:53:45 +0000 (21:53 +0300)
committerNaglis Jonaitis <njonaitis@gmail.com>
Wed, 1 Oct 2014 18:53:45 +0000 (21:53 +0300)
youtube_dl/extractor/tapely.py

index 2c1178b1baedd592cabff19d386a836ab4f2aa1a..77e0562425f0577869c01cb10e690fa9bef7d230 100644 (file)
@@ -17,6 +17,7 @@ class TapelyIE(InfoExtractor):
     _VALID_URL = r'https?://(?:www\.)?tape\.ly/(?P<id>[A-Za-z0-9\-_]+)(?:/(?P<songnr>\d+))?'
     _API_URL = 'http://tape.ly/showtape?id={0:}'
     _S3_SONG_URL = 'http://mytape.s3.amazonaws.com/{0:}'
+    _SOUNDCLOUD_SONG_URL = 'http://api.soundcloud.com{0:}'
     _TESTS = [
         {
             'url': 'http://tape.ly/my-grief-as-told-by-water',
@@ -68,9 +69,15 @@ class TapelyIE(InfoExtractor):
                 })
                 entries.append(entry)
             elif song['source'] == 'YT':
-                _, _, yt_id = song['filename'].split('/')
+                self.to_screen('YouTube video detected')
+                yt_id = song['filename'].replace('/youtube/', '')
                 entry.update(self.url_result(yt_id, 'Youtube', video_id=yt_id))
                 entries.append(entry)
+            elif song['source'] == 'SC':
+                self.to_screen('SoundCloud song detected')
+                sc_url = self._SOUNDCLOUD_SONG_URL.format(song['filename'])
+                entry.update(self.url_result(sc_url, 'Soundcloud'))
+                entries.append(entry)
             else:
                 self.report_warning('Unknown song source: %s' % song['source'])