From ab378f24ce9aac25ae9b3d6dd7dbef25d48a3f2b Mon Sep 17 00:00:00 2001 From: Mort Yao Date: Sat, 1 Sep 2012 20:04:50 +0200 Subject: [PATCH] add support for PPTV (download not supported) --- you_get/common.py | 1 - you_get/downloader/__init__.py | 1 + you_get/downloader/pptv.py | 40 ++++++++++++++++++++++++++++++++++ you_get/downloader/w56.py | 2 +- you_get/main.py | 2 +- 5 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 you_get/downloader/pptv.py diff --git a/you_get/common.py b/you_get/common.py index bc1a60fc..8d7e5fb4 100644 --- a/you_get/common.py +++ b/you_get/common.py @@ -106,7 +106,6 @@ def url_info(url): 'video/webm': 'webm', 'video/x-flv': 'flv' } - #assert type in mapping, type if type in mapping: ext = mapping[type] else: diff --git a/you_get/downloader/__init__.py b/you_get/downloader/__init__.py index 11072697..6723892c 100644 --- a/you_get/downloader/__init__.py +++ b/you_get/downloader/__init__.py @@ -2,6 +2,7 @@ from .cntv import * from .ku6 import * +from .pptv import * from .sohu import * from .tudou import * from .w56 import * diff --git a/you_get/downloader/pptv.py b/you_get/downloader/pptv.py new file mode 100644 index 00000000..53c8e508 --- /dev/null +++ b/you_get/downloader/pptv.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +__all__ = ['pptv_download', 'pptv_download_by_id'] + +from ..common import * + +import re +import urllib +import hashlib + +def pptv_download_by_id(id, title = None, output_dir = '.', merge = True, info_only = False): + xml = get_html('http://web-play.pptv.com/webplay3-151-%s.xml' % id) + host = r1(r'([^<>]+)', xml) + port = 8080 + st = r1(r'([^<>]+)', xml).encode('utf-8') + key = hashlib.md5(st).hexdigest() # FIXME: incorrect key + rids = re.findall(r'rid="([^"]+)"', xml) + rid = r1(r'rid="([^"]+)"', xml) + title = r1(r'nm="([^"]+)"', xml) + pieces = re.findall('