summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/SoundcloudCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/SoundcloudCom.py')
-rw-r--r--module/plugins/hoster/SoundcloudCom.py56
1 files changed, 0 insertions, 56 deletions
diff --git a/module/plugins/hoster/SoundcloudCom.py b/module/plugins/hoster/SoundcloudCom.py
deleted file mode 100644
index 8dff4f42a..000000000
--- a/module/plugins/hoster/SoundcloudCom.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import re
-
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
-from module.common.json_layer import json_loads
-
-
-class SoundcloudCom(SimpleHoster):
- __name__ = "SoundcloudCom"
- __type__ = "hoster"
- __version__ = "0.11"
-
- __pattern__ = r'https?://(?:www\.)?soundcloud\.com/[\w-]+/[\w-]+'
- __config__ = [("use_premium", "bool" , "Use premium account if available", True ),
- ("quality" , "Lower;Higher", "Quality" , "Higher")]
-
- __description__ = """SoundCloud.com hoster plugin"""
- __license__ = "GPLv3"
- __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
-
-
- NAME_PATTERN = r'title" content="(?P<N>.+?)"'
- OFFLINE_PATTERN = r'<title>"SoundCloud - Hear the world’s sounds"</title>'
-
-
- def handleFree(self, pyfile):
- try:
- song_id = re.search(r'sounds:(\d+)"', self.html).group(1)
-
- except Exception:
- self.error(_("Could not find song id"))
-
- try:
- client_id = re.search(r'"clientID":"(.+?)"', self.html).group(1)
-
- except Exception:
- client_id = "b45b1aa10f1ac2941910a7f0d10f8e28"
-
- # url to retrieve the actual song url
- streams = json_loads(self.load("https://api.soundcloud.com/tracks/%s/streams" % song_id,
- get={'client_id': client_id}))
-
- regex = re.compile(r'[^\d]')
- http_streams = sorted([(key, value) for key, value in streams.iteritems() if key.startswith('http_')],
- key=lambda t: regex.sub(t[0], ''),
- reverse=True)
-
- self.logDebug("Streams found: %s" % (http_streams or "None"))
-
- if http_streams:
- stream_name, self.link = http_streams[0 if self.getConfig('quality') == "Higher" else -1]
- pyfile.name += '.' + stream_name.split('_')[1].lower()
-
-
-getInfo = create_getInfo(SoundcloudCom)