From 7ce003caa3f35e8b0da3d6d2f0b7efec8f677e92 Mon Sep 17 00:00:00 2001 From: Mort Yao Date: Wed, 11 Nov 2015 08:26:48 +0100 Subject: [PATCH] [musicplayon] new site support (using VideoExtractor) --- src/you_get/common.py | 1 + src/you_get/extractors/__init__.py | 1 + src/you_get/extractors/musicplayon.py | 38 +++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 src/you_get/extractors/musicplayon.py diff --git a/src/you_get/common.py b/src/you_get/common.py index 746c6b7c..5c13c990 100755 --- a/src/you_get/common.py +++ b/src/you_get/common.py @@ -45,6 +45,7 @@ SITES = { 'miomio' : 'miomio', 'mixcloud' : 'mixcloud', 'mtv81' : 'mtv81', + 'musicplayon': 'musicplayon', '7gogo' : 'nanagogo', 'nicovideo' : 'nicovideo', 'pinterest' : 'pinterest', diff --git a/src/you_get/extractors/__init__.py b/src/you_get/extractors/__init__.py index 513cd9f9..ecb25abd 100755 --- a/src/you_get/extractors/__init__.py +++ b/src/you_get/extractors/__init__.py @@ -37,6 +37,7 @@ from .miaopai import * from .miomio import * from .mixcloud import * from .mtv81 import * +from .musicplayon import * from .nanagogo import * from .netease import * from .nicovideo import * diff --git a/src/you_get/extractors/musicplayon.py b/src/you_get/extractors/musicplayon.py new file mode 100644 index 00000000..ffc4ec36 --- /dev/null +++ b/src/you_get/extractors/musicplayon.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python + +from ..common import * +from ..extractor import VideoExtractor + +import json + +class MusicPlayOn(VideoExtractor): + name = "MusicPlayOn" + + stream_types = [ + {'id': '720p HD'}, + {'id': '360p SD'}, + ] + + def prepare(self, **kwargs): + content = get_content(self.url) + + self.title = match1(content, + r'setup\[\'title\'\] = "([^"]+)";') + + for s in self.stream_types: + quality = s['id'] + src = match1(content, + r'src: "([^"]+)", "data-res": "%s"' % quality) + if src is not None: + url = 'http://en.musicplayon.com%s' % src + self.streams[quality] = {'url': url} + + def extract(self, **kwargs): + for i in self.streams: + s = self.streams[i] + _, s['container'], s['size'] = url_info(s['url']) + s['src'] = [s['url']] + +site = MusicPlayOn() +download = site.download_by_url +# TBD: implement download_playlist