Exemple #1
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    c['movies'] = []
    c['screen'] = []
    c['sound'] = []
    c['container'] = []
    c['encoding'] = []
    c['rate'] = []
    if c['url']:
        try:
            cj = cookielib.CookieJar()
            opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
            opener.addheaders = [('User-Agent', request.env.http_user_agent)]
            urllib2.install_opener(opener)
            data = urllib.urlencode({
                'email': '*****@*****.**',
                'pass': '******'
            })
            link = 'http://www.facebook.com/login.php'
            f = opener.open(link)
            f = opener.open(link, data)
        except:
            return redirect('/')
        f = opener.open(c['url'])
        content = f.read()
        #f.close() # if close sure be occur cannot login
        try:
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            scripts = data.xpath(
                "//script[contains(text(),'video_src')]",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
        except:
            return sj.dumps(['error'])
        title = data.xpath("//h3[@class='video_title datawrap']/text()")
        c['title'] = ''.join(title)

        output = ''
        for x in scripts:
            output += lxml.etree.tostring(x)

        output = urllib2.unquote(output)
        movie_url = output[output.find('video_src') +
                           13:output.find(')',
                                          output.find('video_src') + 9) - 1]
        #return movie_url
        c['movies'].append(movie_url)
        c['screen'].append('375x500')
        c['sound'].append('stereo')
        c['container'].append('FLV')
        c['encoding'].append('MPEG-4 AVC(H.264)')
        c['rate'].append('44100 Hz')
        c['paster'] = 'true'

    return sj.dumps(c)
Exemple #2
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}

        #get video src xml
        try:
            http = httplib2.Http()
            resp, content = http.request(c['url'], headers=headers)
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            media = data.xpath(
                "//link[@rel='video_src']/@href",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            media = ''.join(media)
            media = media.rsplit("/", 1)[-1]
            media = media.split("&")[0]
            url = urllib2.quote(c['url'])
            xml_url = 'http://vlog.xuite.net/flash/player?media=%s==&refer=%s' % (
                media, url)
            resp, content = http.request(xml_url, headers=headers)

            print xml_url
        except:
            return redirect('/')
        try:
            flv_src = urllib2.unquote(
                base64.decodestring(
                    re.findall('<property id="c3Jj">(.*)]]></property>',
                               content)[0][9:]))
            flv_size = base64.decodestring(
                re.findall('<property id="c2l6ZQ==">(.*)]]></property>',
                           content)[0][9:])
            c['title'] = urllib2.unquote(
                base64.decodestring(
                    re.findall('<property id="dGl0bGU=">(.*)]]></property>',
                               content)[0][9:]))
            #hq_src = urllib2.unquote(base64.decodestring(re.findall('<property id="aHFfc3Jj">(.*)]]></property>',content)[0][9:]))
            #print hq_src == ''
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(flv_src)
            c['screen'].append(flv_size)
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('MPEG-4 AVC(H.264)')
            c['rate'].append('44100 Hz')
        except:
            return sj.dumps(['error'])

    return sj.dumps(c)
Exemple #3
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')

    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        auth = ''.join([(str(int(time.time()))),
                        ' XOA== MWZlNWE4Y2Q4OWQ0NjEyMWJjZTJmMWNiYTVhNzQwZGM='])
        auth = hashlib.md5(auth).hexdigest()
        videoid = c['url'].rsplit("/")[-1].split(".")[0][3:]
        #return videoid
        direct_url = ''.join([
            ('http://api.youku.com/api_rest?method=video.getvideofile&'),
            'pid=XOA==&ctime=%s&auth=%s&videoid=%s' %
            (int(time.time()), auth, videoid)
        ])
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(direct_url, headers=headers)
        except:
            return redirect('/')
        try:
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            movie_url = data.xpath(
                "//stream[contains(@type,'flv')]/seg[1]/@url",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            movie_url = ''.join(movie_url)
            #print movie_url
        except:
            return sj.dumps(['error'])
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        data = lxml.etree.parse(cStringIO.StringIO(content),
                                lxml.etree.HTMLParser(encoding='utf-8'))
        title = data.xpath("//title/text()")
        c['title'] = ''.join(title)

        c['movies'] = []
        c['screen'] = []
        c['sound'] = []
        c['container'] = []
        c['encoding'] = []
        c['rate'] = []
        c['movies'].append(movie_url)
        c['screen'].append('592x254')
        c['sound'].append('stereo')
        c['container'].append('FLV')
        c['encoding'].append('MPEG-4 AAC audio')
        c['rate'].append('44100 Hz')

    return sj.dumps(c)
Exemple #4
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            videoid = ''.join(re.findall("vid='(.*)'",content))
            if not videoid:
                videoid = ''.join(re.findall("vid :'(.*)'",content))
            if not videoid:
                return sj.dumps(['error'])
            flv_id = videoid.split("|")[0]

            if len(videoid.split("|")) > 1:
                hp_id = videoid.split("|")[1]
            resp, content = http.request('http://v.iask.com/v_play.php?vid=%s' % (flv_id), headers = headers)
            movie = re.findall('<url>.*</url>', content)
            
            c['title'] = re.findall('<vname>.*</vname>', content)
            c['title'] = c['title'][0][16:-11]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            for x in movie:
                c['movies'].append(x[14:-9])
                c['screen'].append('640x480')
                c['sound'].append('stereo')
                c['container'].append('FLV')
                c['encoding'].append('H.264/AVC Video')
                c['rate'].append('22050 Hz')
            
            if len(videoid.split("|")) > 1:
                resp, content = http.request('http://v.iask.com/v_play.php?vid=%s' % (hp_id), headers = headers)
                movie = re.findall('<url>.*</url>', content)
                for x in movie:
                    c['movies'].append(x[14:-9])
                    c['screen'].append('640x480')
                    c['sound'].append('stereo')
                    c['container'].append('FLV')
                    c['encoding'].append('H.264/AVC Video')
                    c['rate'].append('44100 Hz')
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #5
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            pid = c['url'].split('-')[-1].split('.')[0]
            if pid.count("http"):
                pid = c['url'].rsplit('/', 1)[-1].split('.')[0].split('_')[-1]
            if not pid:
                return sj.dumps(['error'])
            resp, content = http.request(
                'http://vxml.56.com/json/%s/?src=site' % (pid),
                headers=headers)
            title = re.findall('"Subject":"(.*)","textid"', content)
            c['title'] = title[0]

            movie = re.findall(
                '"url":"(http://.*\.flv)","type":"normal".*"url":"(http://.*\.flv)"',
                content)
            if movie:
                movie = movie[0]
            if not movie:
                movie = re.findall('"url":"(http://.*\.flv)","type"', content)

            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            for x in movie:
                c['movies'].append(x)
                c['screen'].append('576x432')
                c['sound'].append('stereo')
                c['container'].append('FLV')
                c['encoding'].append('H.264/AVC Video')
                c['rate'].append('48000 Hz')
                c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #6
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}   
    c['url'] = request.vars.url or ''
    c['movies'] = []
    c['screen'] = []
    c['sound'] = []
    c['container'] = []
    c['encoding'] = []
    c['rate'] = []
    if c['url']:
        try:
            cj = cookielib.CookieJar()
            opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
            opener.addheaders = [('User-Agent', request.env.http_user_agent)]
            urllib2.install_opener(opener)
            data = urllib.urlencode({'email':'*****@*****.**','pass':'******'})
            link = 'http://www.facebook.com/login.php'
            f = opener.open(link)
            f = opener.open(link,data)
        except:
            return redirect('/')
        f = opener.open(c['url'])
        content = f.read()
        #f.close() # if close sure be occur cannot login
        try:
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            scripts = data.xpath("//script[contains(text(),'video_src')]", namespaces={"regxp": "http://exslt.org/regular-expressions"})
        except:
            return sj.dumps(['error'])
        title = data.xpath("//h3[@class='video_title datawrap']/text()")
        c['title'] = ''.join(title)
        
        output=''
        for x in scripts:
            output += lxml.etree.tostring(x)
        
        output = urllib2.unquote(output)
        movie_url = output[output.find('video_src')+13:output.find(')',output.find('video_src')+9)-1]
        #return movie_url
        c['movies'].append(movie_url)
        c['screen'].append('375x500')
        c['sound'].append('stereo')
        c['container'].append('FLV')
        c['encoding'].append('MPEG-4 AVC(H.264)')
        c['rate'].append('44100 Hz')
        c['paster'] = 'true'

    return sj.dumps(c)
Exemple #7
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            scripts = data.xpath(
                "//script[contains(text(),'vdoPath')]",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
        except:
            return sj.dumps(['error'])
        title = data.xpath("//title/text()")
        c['title'] = ''.join(title)
        c['title'] = c['title'].rsplit('-', 1)[0].strip()

        output = ''
        for x in scripts:
            output += lxml.etree.tostring(x)

        output = urllib2.unquote(output)

        movie_url = output[output.find('vdoPath=') +
                           8:output.find('"', output.find('vdoPath='))]

        c['movies'] = []
        c['screen'] = []
        c['sound'] = []
        c['container'] = []
        c['encoding'] = []
        c['rate'] = []
        c['movies'].append(movie_url)
        c['screen'].append('320x239')
        c['sound'].append('mono')
        c['container'].append('FLV')
        c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)')
        c['rate'].append('22050 Hz')
        c['paster'] = 'true'

    return sj.dumps(c)
Exemple #8
0
def download():  
    if not common.check_verify(request,session,db):
        return redirect('/')
        
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        auth = ''.join([(str(int(time.time()))),' XOA== MWZlNWE4Y2Q4OWQ0NjEyMWJjZTJmMWNiYTVhNzQwZGM='])
        auth = hashlib.md5(auth).hexdigest()
        videoid = c['url'].rsplit("/")[-1].split(".")[0][3:]
        #return videoid
        direct_url = ''.join([('http://api.youku.com/api_rest?method=video.getvideofile&'),'pid=XOA==&ctime=%s&auth=%s&videoid=%s'% (int(time.time()), auth, videoid)])
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(direct_url, headers = headers)
        except:
            return redirect('/')
        try:
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            movie_url = data.xpath("//stream[contains(@type,'flv')]/seg[1]/@url", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            movie_url = ''.join(movie_url)
            #print movie_url
        except:
            return sj.dumps(['error'])
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')    
        data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
        title = data.xpath("//title/text()")
        c['title'] = ''.join(title)
        
        c['movies'] = []
        c['screen'] = []
        c['sound'] = []
        c['container'] = []
        c['encoding'] = []
        c['rate'] = []
        c['movies'].append(movie_url)
        c['screen'].append('592x254')
        c['sound'].append('stereo')
        c['container'].append('FLV')
        c['encoding'].append('MPEG-4 AAC audio')
        c['rate'].append('44100 Hz')
            
    return sj.dumps(c)
Exemple #9
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            title = re.findall('<title>(.*)</title>', content)
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            video_id = data.xpath(
                "//link[@rel='video_src']/@href",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            if video_id:
                video_id = video_id[0].rsplit('/', 1)[-1]
                resp, content = http.request(
                    'http://flv.bofunk.com/watch.php?file=%s' % video_id,
                    headers=headers)
                movie = re.findall(
                    '<PLAYER_SETTINGS Name="FLVPath" Value="(.*)"/>', content)
                movie = ''.join(movie)

            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('320x240')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('22050 Hz')
            c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #10
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:

            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            c['title'] = scripts = data.xpath(
                "//h1[@class='heading']/span/text()",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            c['title'] = ''.join(c['title'])
            scripts = data.xpath(
                "//link[@rel='audio_src']/@href",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            video_id = ''.join(scripts).split("=")[-1]
            url = 'http://mymedia.yam.com/api/a/?pID=%s' % (video_id)
            resp, content = http.request(url, headers=headers)
            video_src = content[content.find("mp3file=") + 8:content.find("&")]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('None')
            c['sound'].append('stereo')
            c['container'].append('MP3')
            c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'
        except:
            return sj.dumps(['error'])

    return sj.dumps(c)
Exemple #11
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            scripts = data.xpath("//script[contains(text(),'vdoPath')]", namespaces={"regxp": "http://exslt.org/regular-expressions"})
        except:
            return sj.dumps(['error'])
        title = data.xpath("//title/text()")
        c['title'] = ''.join(title)
        c['title'] = c['title'].rsplit('-',1)[0].strip()

        output=''
        for x in scripts:
            output += lxml.etree.tostring(x)
        
        output = urllib2.unquote(output)
        
        movie_url = output[output.find('vdoPath=')+8:output.find('"',output.find('vdoPath='))]
        
        c['movies'] = []
        c['screen'] = []
        c['sound'] = []
        c['container'] = []
        c['encoding'] = []
        c['rate'] = []
        c['movies'].append(movie_url)
        c['screen'].append('320x239')
        c['sound'].append('mono')
        c['container'].append('FLV')
        c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)')
        c['rate'].append('22050 Hz')
        c['paster'] = 'true'

    return sj.dumps(c)
Exemple #12
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            vars = cgi.parse_qs(c['url'].split("?")[-1])
            id = vars['id'][0]
            video_src = 'http://video.libertytimes.com.tw/media/flv/%s.flv' % (
                id)
            print video_src
            if not video_src:
                return sj.dumps(['error'])

            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            c['title'] = data.xpath(
                "//div[@id='videotitle']/text()",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            c['title'] = c['title'][0]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('480x386')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)')
            c['rate'].append('44100 Hz')
            #c['paster'] = 'true'
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #13
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            title = re.findall('<title>(.*)</title>',  content)
            video_src = re.findall('sGlobalFileName=\'(.*)\';EmbedSEOLinkURL=', content)
            if video_src:
                video_src = video_src[0]
            token = re.findall('sGlobalToken=\'(.*)\';', content)
            if token:
                token = token[0]
            movie = video_src + '.flv?' + token
            
           
            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('464x352')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #14
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            title = re.findall('<title>(.*)</title>',  content)
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            video_id = data.xpath("//link[@rel='video_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            if video_id:
                video_id = video_id[0].rsplit('/', 1)[-1]
                resp, content = http.request('http://flv.bofunk.com/watch.php?file=%s' % video_id, headers = headers)
                movie = re.findall('<PLAYER_SETTINGS Name="FLVPath" Value="(.*)"/>', content)
                movie = ''.join(movie)
            
           
            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('320x240')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('22050 Hz')
            c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #15
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            title = re.findall('<title>(.*)</title>', content)
            video_src = re.findall('sGlobalFileName=\'(.*)\';EmbedSEOLinkURL=',
                                   content)
            if video_src:
                video_src = video_src[0]
            token = re.findall('sGlobalToken=\'(.*)\';', content)
            if token:
                token = token[0]
            movie = video_src + '.flv?' + token

            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('464x352')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #16
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    try:
        c = {}
        c['url'] = request.vars.url or ''
        if c['url']:
            headers = {'User-Agent': request.env.http_user_agent}
            http = httplib2.Http()
            resp, content = http.request(c['url'], headers=headers)
            title = re.findall('<title>(.*)</title>', content)
            clipid = re.findall('clip_id=(.*)', content)
            clipid = clipid[0].split('"')[0]
            resp, content = http.request(
                'http://vimeo.com/moogaloop/load/clip:%s' % clipid,
                headers=headers)
            signature = re.findall(
                '<request_signature>(.*)</request_signature>', content)
            expires = re.findall(
                '<request_signature_expires>(.*)</request_signature_expires>',
                content)
            movie = 'http://vimeo.com/moogaloop/play/clip:%s/%s/%s/?q=hd&type=local&embed_location=' % (
                clipid, signature[0], expires[0])
            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('640x480')
            c['sound'].append('stereo')
            c['container'].append('MP4')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'

        return sj.dumps(c)
    except:
        return sj.dumps(['error'])
Exemple #17
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            if content.count("embed src=http://www.youtube.com"):
                return sj.dumps(['error'])
            video_src = re.findall('(http://.*\.flv)', content)
            if not video_src:
                return sj.dumps(['error'])
            if video_src:
                video_src = video_src[0]
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='big5'))
            c['title'] = data.xpath(
                "//div[@class='filetitlebox']//strong/text()",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            c['title'] = ''.join(c['title'])
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('640x360')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('22050 Hz')
            c['paster'] = 'true'
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #18
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            title = data.xpath(
                "//title/text()",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            title = title[0].strip()
            c['title'] = title
            movie = re.findall('videoUrl=(.*)&pageUrl=', content)
            movie = urllib2.unquote(movie[0])

            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('1280x720')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #19
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            sno = c['url'].split("sno=")[-1]
            url = 'http://video.udn.com/video/Item/ListRelateMD.do?sno=%s' % (
                sno)
            resp, content = http.request(url, headers=headers)
            video_src = re.findall('<vc id="(.*)">', content)
            video_src = 'http://video.udn.com' + video_src[0]
            if not video_src:
                return sj.dumps(['error'])

            c['title'] = re.findall('<title>(.*)</title>', content)
            c['title'] = c['title'][0]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('440x330')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            #c['paster'] = 'true'
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #20
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            sno = c['url'].split("sno=")[-1]
            url = 'http://video.udn.com/video/Item/ListRelateMD.do?sno=%s' % (sno)
            resp, content = http.request(url, headers = headers)
            video_src = re.findall('<vc id="(.*)">',content)
            video_src = 'http://video.udn.com' + video_src[0]
            if not video_src:
                return sj.dumps(['error'])

            c['title'] = re.findall('<title>(.*)</title>',content)
            c['title'] = c['title'][0]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('440x330')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            #c['paster'] = 'true'
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #21
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            if content.count("embed src=http://www.youtube.com"):
                return sj.dumps(['error'])
            video_src = re.findall('(http://.*\.flv)',content)
            if not video_src:
                return sj.dumps(['error'])
            if video_src:
                video_src = video_src[0]
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='big5') )
            c['title'] = data.xpath("//div[@class='filetitlebox']//strong/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            c['title'] = ''.join(c['title'])
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('640x360')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('22050 Hz')
            c['paster'] = 'true'
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #22
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            c['title'] = scripts = data.xpath("//h1[@class='heading']/span/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            c['title'] = ''.join(c['title'])
            scripts = data.xpath("//link[@rel='audio_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            video_id = ''.join(scripts).split("=")[-1]
            url = 'http://mymedia.yam.com/api/a/?pID=%s' % (video_id)
            resp, content = http.request(url, headers = headers)
            video_src = content[content.find("mp3file=")+8:content.find("&")]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('None')
            c['sound'].append('stereo')
            c['container'].append('MP3')
            c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'
        except:
            return sj.dumps(['error'])

    return sj.dumps(c)
Exemple #23
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            vars = cgi.parse_qs(c['url'].split("?")[-1])
            id = vars['id'][0]
            video_src = 'http://video.libertytimes.com.tw/media/flv/%s.flv' % (id)
            print video_src
            if not video_src:
                return sj.dumps(['error'])

            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            c['title'] = data.xpath("//div[@id='videotitle']/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            c['title'] = c['title'][0]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('480x386')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)')
            c['rate'].append('44100 Hz')
            #c['paster'] = 'true'
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #24
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='big5') )
            video_src = data.xpath("//param[@name='movie']/@value", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            video_src = video_src[0]
            vars = cgi.parse_qs(video_src.split("?")[-1])
            id = vars['id'][0]
            cdate = vars['cdate'][0]
            video_src = 'http://www.nownews.com/flv/%s/%s.flv' % (cdate, id)
            
            c['title'] = data.xpath("//div[@id='video_top']//h1/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            c['title'] = c['title'][0]
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []
            c['movies'].append(video_src)
            c['screen'].append('400x300')
            c['sound'].append('mono')
            c['container'].append('FLV')
            c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)')
            c['rate'].append('22050 Hz')
            #c['paster'] = 'true'
            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #25
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    try:
        c = {}
        c['url'] = request.vars.url or ''
        if c['url']:
            headers = {'User-Agent': request.env.http_user_agent}
            http = httplib2.Http()
            resp, content = http.request(c['url'], headers=headers)
            title = re.findall('<title>(.*)</title>', content)
            if title:
                title = title[0]
                title = title[:title.find('FREE Streaming Online') - 2]

            video_src = re.findall('file=(.*)"', content)
            if video_src:
                movie = video_src[1]

            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('320x240')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('22050 Hz')
            c['paster'] = 'true'

        return sj.dumps(c)
    except:
        return sj.dumps(['error'])
Exemple #26
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    try:
        c = {}
        c['url'] = request.vars.url or ''
        if c['url']:
            headers = {'User-Agent':request.env.http_user_agent}
            http = httplib2.Http()
            resp, content = http.request(c['url'], headers = headers)
            title = re.findall('<title>(.*)</title>',  content)
            if title:
                title = title[0]
                title = title[:title.find('FREE Streaming Online')-2]
                
            video_src = re.findall('file=(.*)"', content)
            if video_src:
                movie = video_src[1]
           
            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('320x240')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('22050 Hz')
            c['paster'] = 'true'
        
        return sj.dumps(c)
    except:
        return sj.dumps(['error'])
Exemple #27
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            title = data.xpath("//title/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            title = title[0].strip()
            c['title'] = title
            movie = re.findall('videoUrl=(.*)&pageUrl=', content)
            movie = urllib2.unquote(movie[0])

            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('1280x720')
            c['sound'].append('stereo')
            c['container'].append('FLV')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #28
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            movie = re.findall('player.setPrimaryMediaUrl(.*)', content)
            movie = movie[0].split('?')[0][2:]
            title = re.findall('<div id="EpisodeTitle">(.*)</div>', content)
            c['title'] = title
            c['movies'] = []
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            c['movies'].append(movie)
            c['screen'].append('640x352')
            c['sound'].append('stereo')
            if movie.count('flv'):
                c['container'].append('FLV')
            else:
                c['container'].append('MP4')
            c['encoding'].append('H.264/AVC Video')
            c['rate'].append('44100 Hz')
            c['paster'] = 'true'

            return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #29
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent':request.env.http_user_agent}
        http = httplib2.Http()       
        try:
            resp, content = http.request(c['url'], headers = headers)
        except:
            return redirect('/')
        try:
            video = re.findall('"file","(.*)"',content)
            if not video:
                video = re.findall('value="(http://www.youtube.com.*)"></param><param name="allowFullScreen"',content)
                if video:
                    video = video[0]
                    video = 'http://www.youtube.com/watch?v=%s' % video.split('/')[-1].split("&")[0]
                    c['url'] = video
                    http = httplib2.Http()
                    resp, content = http.request(c['url'], headers = headers)
                    data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
                    scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"})

                    title = data.xpath("//span[@id='eow-title']/text()")
                    c['title'] = ''.join(title)

                    output=''
                    for x in scripts:
                        output += lxml.etree.tostring(x)
                    
                    output = urllib2.unquote(output)
                    movie_url = output[output.find('fmt_url_map=')+12:output.find('&amp;csi_page_type')]

                    movie_urls = movie_url.split('|')
                    #use for urlencode
                    #movie_urls = movie_url.split('%7C')
                    c['movies'] = []
                    for i in range(1, len(movie_urls)):
                        #use for urlencode
                        #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
                        c['movies'].append(movie_urls[i].rsplit(',',1)[0])

                    format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))]
                    formats = format_text.split(',')
                    
                    c['screen'] = []
                    c['sound'] = []
                    c['container'] = []
                    c['encoding'] = []
                    c['rate'] = []

                    screen = ''
                    sound = ''
                    container = ''
                    encoding = ''
                    rate = ''
                    for x in formats:
                        xx = x.split('/')
                        #xx = x.split('%2F')
                        f = xx[0]
                        if f == '5':
                            fmt = '240p'
                            screen = '400x226'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '34':
                            fmt = '360p'
                            screen = '640x360'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '35':
                            fmt = '480p'
                            screen = '851x480'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '22':
                            fmt = '720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '37':
                            fmt = '1080p'
                            screen = '1920x1080'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '18':
                            fmt = 'Medium'
                            screen = '480x360'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '43':
                            fmt = 'WebM 480p'
                            screen = '854x480'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '45':
                            fmt = 'WebM 720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '17':
                            fmt = 'Mobile'
                            screen = '176x144'
                            sound = 'stereo'
                            container = '3GP'
                            encoding = 'MPEG-4 Visual'
                            rate = '44100 Hz'

                        if f == '0, 5':
                            fmt = 'Standard, Old formats (pre Feb 2009)'
                            screen = '320x240'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '6':
                            fmt = 'High, Old formats (pre Feb 2009)'
                            screen = '480x360'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '44100 Hz'

                        if f == '13':
                            fmt = 'Mobile, Old formats (pre Feb 2009)'
                            screen = '176x144'
                            sound = 'mono'
                            container = '3GP'
                            encoding = 'H.263'
                            rate = '8000 Hz'
                            
                        c['screen'].append(screen)
                        c['sound'].append(sound)
                        c['container'].append(container)
                        c['encoding'].append(encoding)
                        c['rate'].append(rate)


                    return sj.dumps(c)
                    
                    
            if video:
                if not video[0].count("http://www.youtube.com"):
                    video_url = 'http://alcachondeo.com/' + video[0]
                else:
                    c['url'] = video[0]

                    http = httplib2.Http()
                    try:
                        resp, content = http.request(c['url'], headers = headers)
                    except :
                        return redirect('/')
                    data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
                    scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"})
                    
                    title = data.xpath("//span[@id='eow-title']/text()")
                    c['title'] = ''.join(title)

                    output=''
                    for x in scripts:
                        output += lxml.etree.tostring(x)
                    
                    output = urllib2.unquote(output)
                    movie_url = output[output.find('fmt_url_map=')+12:output.find('&amp;csi_page_type')]

                    movie_urls = movie_url.split('|')
                    #use for urlencode
                    #movie_urls = movie_url.split('%7C')
                    c['movies'] = []
                    for i in range(1, len(movie_urls)):
                        #use for urlencode
                        #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
                        c['movies'].append(movie_urls[i].rsplit(',',1)[0])

                    format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))]
                    formats = format_text.split(',')
                    
                    c['screen'] = []
                    c['sound'] = []
                    c['container'] = []
                    c['encoding'] = []
                    c['rate'] = []

                    screen = ''
                    sound = ''
                    container = ''
                    encoding = ''
                    rate = ''
                    for x in formats:
                        xx = x.split('/')
                        #xx = x.split('%2F')
                        f = xx[0]
                        if f == '5':
                            fmt = '240p'
                            screen = '400x226'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '34':
                            fmt = '360p'
                            screen = '640x360'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '35':
                            fmt = '480p'
                            screen = '851x480'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '22':
                            fmt = '720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '37':
                            fmt = '1080p'
                            screen = '1920x1080'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '18':
                            fmt = 'Medium'
                            screen = '480x360'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '43':
                            fmt = 'WebM 480p'
                            screen = '854x480'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '45':
                            fmt = 'WebM 720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '17':
                            fmt = 'Mobile'
                            screen = '176x144'
                            sound = 'stereo'
                            container = '3GP'
                            encoding = 'MPEG-4 Visual'
                            rate = '44100 Hz'

                        if f == '0, 5':
                            fmt = 'Standard, Old formats (pre Feb 2009)'
                            screen = '320x240'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '6':
                            fmt = 'High, Old formats (pre Feb 2009)'
                            screen = '480x360'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '44100 Hz'

                        if f == '13':
                            fmt = 'Mobile, Old formats (pre Feb 2009)'
                            screen = '176x144'
                            sound = 'mono'
                            container = '3GP'
                            encoding = 'H.263'
                            rate = '8000 Hz'
                            
                        c['screen'].append(screen)
                        c['sound'].append(sound)
                        c['container'].append(container)
                        c['encoding'].append(encoding)
                        c['rate'].append(rate)


                    return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #30
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')

    c = {}
    c['url'] = request.vars.url or ''
    c['page'] = request.vars.page or 1
    if not c['url']:
        return redirect("/")
    #log to db
    db.download_log.insert(userip=request.env.remote_addr,
                           query_string=c['url'],
                           query_time=str(datetime.datetime.now()))
    keywords = None
    c['search_title'] = []
    c['search_image'] = []
    c['search_url'] = []
    c['search_view'] = []
    if c['url'].find("http://") == -1:
        #keywords = c['url'].replace(" ","+")
        keywords = c['url']
        print keywords

        db.search_keywords.insert(keyword=keywords,
                                  userip=request.env.remote_addr,
                                  request_time=str(datetime.datetime.now()))

        http = httplib2.Http()
        url = 'http://www.youtube.com/results?aq=f&search_query=%s' % urllib2.quote(
            keywords)
        if c['page']:
            url = 'http://www.youtube.com/results?page=%s&search_query=%s' % (
                c['page'], urllib2.quote(keywords))

        #print 'http://www.youtube.com/results?search_query=%s' % urllib2.quote(keywords)
        resp, content = http.request(url, "GET", headers=headers)
        data = lxml.etree.parse(cStringIO.StringIO(content),
                                lxml.etree.HTMLParser(encoding='utf-8'))
        scripts = data.xpath(
            "//div[@class='video-long-title']/a",
            namespaces={"regxp": "http://exslt.org/regular-expressions"})
        for link in scripts:
            c['search_title'].append(''.join(link.xpath("@title")))
            c['search_url'].append(
                urllib2.quote('http://www.youtube.com' +
                              ''.join(link.xpath("@href"))))
            c['search_image'].append(''.join(
                link.xpath(
                    "ancestor::div[@class='video-entry'][1]//img[not(contains(@src,'pixel-vfl73.gif'))]/@src|ancestor::div[@class='video-entry'][1]//img/@thumb"
                )))
            c['search_view'].append(''.join(
                link.xpath(
                    "following::span[@class='video-view-count'][1]/text()")))
        c['search_record'] = ''.join(
            data.xpath("//div[@id='search-num-results']/strong[1]/text()"))
        c['search_results'] = ''.join(
            data.xpath("//div[@id='search-num-results']/strong[2]/text()"))
        print c['search_results']

    else:
        #check support service.
        if c['url'].count('www.wretch.cc'):
            return redirect(
                URL(r=request,
                    c='wretch',
                    f='download',
                    vars=dict(url=c['url'])))

        elif c['url'].count('tudou.com'):
            return redirect(
                URL(r=request,
                    c='tudou',
                    f='download',
                    vars=dict(url=c['url'])))

        elif c['url'].count('youku.com'):
            return redirect(
                URL(r=request,
                    c='youku',
                    f='download',
                    vars=dict(url=c['url'])))

        elif c['url'].count('facebook.com'):
            return redirect(
                URL(r=request,
                    c='facebook',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('vlog.xuite.net'):
            return redirect(
                URL(r=request,
                    c='xuite',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('mymedia.yam.com'):
            return redirect(
                URL(r=request, c='yam', f='download', vars=dict(url=c['url'])))
        elif c['url'].count('share.youthwant.com.tw'):
            return redirect(
                URL(r=request,
                    c='youthwant',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('video.sina.com.cn'):
            return redirect(
                URL(r=request, c='sina', f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('video.udn.com'):
            return redirect(
                URL(r=request, c='udn', f='download', vars=dict(url=c['url'])))
        elif c['url'].count('video.libertytimes.com.tw'):
            return redirect(
                URL(r=request,
                    c='libertytimes',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('nownews.com'):
            return redirect(
                URL(r=request,
                    c='nownews',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('openv.com'):
            return redirect(
                URL(r=request,
                    c='openv',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('www.56.com'):
            return redirect(
                URL(r=request, c='56', f='download', vars=dict(url=c['url'])))
        elif c['url'].count('www.5min.com'):
            return redirect(
                URL(r=request, c='5min', f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('alcachondeo.com'):
            return redirect(
                URL(r=request,
                    c='alcachondeo',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('blip.tv'):
            return redirect(
                URL(r=request, c='blip', f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('www.bofunk.com'):
            return redirect(
                URL(r=request,
                    c='bofunk',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('www.bollywoodhungama.com'):
            return redirect(
                URL(r=request,
                    c='bollywoodhungama',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('www.break.com'):
            return redirect(
                URL(r=request,
                    c='breakcom',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('www.buzzhumor.com'):
            return redirect(
                URL(r=request,
                    c='buzzhumor',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('buzznet.com'):
            return redirect(
                URL(r=request,
                    c='buzznet',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('vimeo.com'):
            return redirect(
                URL(r=request,
                    c='vimeo',
                    f='download',
                    vars=dict(url=c['url'])))
        elif c['url'].count('youtube.com'):
            pass
        else:
            return sj.dumps(['error'])

        if c['url']:
            http = httplib2.Http()
            try:
                resp, content = http.request(c['url'], headers=headers)
            except:
                return redirect('/')
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            scripts = data.xpath(
                "//script[contains(text(),'object')]",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})

            title = data.xpath("//span[@id='eow-title']/text()")
            c['title'] = ''.join(title)

            output = ''
            for x in scripts:
                output += lxml.etree.tostring(x)

            output = urllib2.unquote(output)
            movie_url = output[output.find('fmt_url_map=') +
                               12:output.find('&amp;csi_page_type')]

            movie_urls = movie_url.split('|')
            #use for urlencode
            #movie_urls = movie_url.split('%7C')
            c['movies'] = []
            for i in range(1, len(movie_urls)):
                #use for urlencode
                #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
                c['movies'].append(movie_urls[i].rsplit(',', 1)[0])

            format_text = output[output.find('fmt_list=') +
                                 9:output.find('&', output.find('fmt_list='))]
            formats = format_text.split(',')

            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            screen = ''
            sound = ''
            container = ''
            encoding = ''
            rate = ''
            for x in formats:
                xx = x.split('/')
                #xx = x.split('%2F')
                f = xx[0]
                if f == '5':
                    fmt = '240p'
                    screen = '400x226'
                    sound = 'stereo'
                    container = 'FLV'
                    encoding = 'H.263'
                    rate = '22050 Hz'

                if f == '34':
                    fmt = '360p'
                    screen = '640x360'
                    sound = 'stereo'
                    container = 'FLV'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '35':
                    fmt = '480p'
                    screen = '851x480'
                    sound = 'stereo'
                    container = 'FLV'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '22':
                    fmt = '720p'
                    screen = '1280x720'
                    sound = 'stereo'
                    container = 'MP4'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '37':
                    fmt = '1080p'
                    screen = '1920x1080'
                    sound = 'stereo'
                    container = 'MP4'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '18':
                    fmt = 'Medium'
                    screen = '480x360'
                    sound = 'stereo'
                    container = 'MP4'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '43':
                    fmt = 'WebM 480p'
                    screen = '854x480'
                    sound = 'stereo'
                    container = 'WebM'
                    encoding = 'VP8'
                    rate = '44100 Hz'

                if f == '45':
                    fmt = 'WebM 720p'
                    screen = '1280x720'
                    sound = 'stereo'
                    container = 'WebM'
                    encoding = 'VP8'
                    rate = '44100 Hz'

                if f == '17':
                    fmt = 'Mobile'
                    screen = '176x144'
                    sound = 'stereo'
                    container = '3GP'
                    encoding = 'MPEG-4 Visual'
                    rate = '44100 Hz'

                if f == '0, 5':
                    fmt = 'Standard, Old formats (pre Feb 2009)'
                    screen = '320x240'
                    sound = 'mono'
                    container = 'FLV'
                    encoding = 'H.263'
                    rate = '22050 Hz'

                if f == '6':
                    fmt = 'High, Old formats (pre Feb 2009)'
                    screen = '480x360'
                    sound = 'mono'
                    container = 'FLV'
                    encoding = 'H.263'
                    rate = '44100 Hz'

                if f == '13':
                    fmt = 'Mobile, Old formats (pre Feb 2009)'
                    screen = '176x144'
                    sound = 'mono'
                    container = '3GP'
                    encoding = 'H.263'
                    rate = '8000 Hz'

                c['screen'].append(screen)
                c['sound'].append(sound)
                c['container'].append(container)
                c['encoding'].append(encoding)
                c['rate'].append(rate)
                c['paster'] = 'true'

    response.view = './youtube/index.beta.html'
    return sj.dumps(c)
Exemple #31
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:
        headers = {'User-Agent': request.env.http_user_agent}
        http = httplib2.Http()
        try:
            resp, content = http.request(c['url'], headers=headers)
        except:
            return redirect('/')
        try:
            video = re.findall('"file","(.*)"', content)
            if not video:
                video = re.findall(
                    'value="(http://www.youtube.com.*)"></param><param name="allowFullScreen"',
                    content)
                if video:
                    video = video[0]
                    video = 'http://www.youtube.com/watch?v=%s' % video.split(
                        '/')[-1].split("&")[0]
                    c['url'] = video
                    http = httplib2.Http()
                    resp, content = http.request(c['url'], headers=headers)
                    data = lxml.etree.parse(
                        cStringIO.StringIO(content),
                        lxml.etree.HTMLParser(encoding='utf-8'))
                    scripts = data.xpath(
                        "//script[contains(text(),'object')]",
                        namespaces={
                            "regxp": "http://exslt.org/regular-expressions"
                        })

                    title = data.xpath("//span[@id='eow-title']/text()")
                    c['title'] = ''.join(title)

                    output = ''
                    for x in scripts:
                        output += lxml.etree.tostring(x)

                    output = urllib2.unquote(output)
                    movie_url = output[output.find('fmt_url_map=') +
                                       12:output.find('&amp;csi_page_type')]

                    movie_urls = movie_url.split('|')
                    #use for urlencode
                    #movie_urls = movie_url.split('%7C')
                    c['movies'] = []
                    for i in range(1, len(movie_urls)):
                        #use for urlencode
                        #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
                        c['movies'].append(movie_urls[i].rsplit(',', 1)[0])

                    format_text = output[output.find('fmt_list=') + 9:output.
                                         find('&', output.find('fmt_list='))]
                    formats = format_text.split(',')

                    c['screen'] = []
                    c['sound'] = []
                    c['container'] = []
                    c['encoding'] = []
                    c['rate'] = []

                    screen = ''
                    sound = ''
                    container = ''
                    encoding = ''
                    rate = ''
                    for x in formats:
                        xx = x.split('/')
                        #xx = x.split('%2F')
                        f = xx[0]
                        if f == '5':
                            fmt = '240p'
                            screen = '400x226'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '34':
                            fmt = '360p'
                            screen = '640x360'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '35':
                            fmt = '480p'
                            screen = '851x480'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '22':
                            fmt = '720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '37':
                            fmt = '1080p'
                            screen = '1920x1080'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '18':
                            fmt = 'Medium'
                            screen = '480x360'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '43':
                            fmt = 'WebM 480p'
                            screen = '854x480'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '45':
                            fmt = 'WebM 720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '17':
                            fmt = 'Mobile'
                            screen = '176x144'
                            sound = 'stereo'
                            container = '3GP'
                            encoding = 'MPEG-4 Visual'
                            rate = '44100 Hz'

                        if f == '0, 5':
                            fmt = 'Standard, Old formats (pre Feb 2009)'
                            screen = '320x240'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '6':
                            fmt = 'High, Old formats (pre Feb 2009)'
                            screen = '480x360'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '44100 Hz'

                        if f == '13':
                            fmt = 'Mobile, Old formats (pre Feb 2009)'
                            screen = '176x144'
                            sound = 'mono'
                            container = '3GP'
                            encoding = 'H.263'
                            rate = '8000 Hz'

                        c['screen'].append(screen)
                        c['sound'].append(sound)
                        c['container'].append(container)
                        c['encoding'].append(encoding)
                        c['rate'].append(rate)

                    return sj.dumps(c)

            if video:
                if not video[0].count("http://www.youtube.com"):
                    video_url = 'http://alcachondeo.com/' + video[0]
                else:
                    c['url'] = video[0]

                    http = httplib2.Http()
                    try:
                        resp, content = http.request(c['url'], headers=headers)
                    except:
                        return redirect('/')
                    data = lxml.etree.parse(
                        cStringIO.StringIO(content),
                        lxml.etree.HTMLParser(encoding='utf-8'))
                    scripts = data.xpath(
                        "//script[contains(text(),'object')]",
                        namespaces={
                            "regxp": "http://exslt.org/regular-expressions"
                        })

                    title = data.xpath("//span[@id='eow-title']/text()")
                    c['title'] = ''.join(title)

                    output = ''
                    for x in scripts:
                        output += lxml.etree.tostring(x)

                    output = urllib2.unquote(output)
                    movie_url = output[output.find('fmt_url_map=') +
                                       12:output.find('&amp;csi_page_type')]

                    movie_urls = movie_url.split('|')
                    #use for urlencode
                    #movie_urls = movie_url.split('%7C')
                    c['movies'] = []
                    for i in range(1, len(movie_urls)):
                        #use for urlencode
                        #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
                        c['movies'].append(movie_urls[i].rsplit(',', 1)[0])

                    format_text = output[output.find('fmt_list=') + 9:output.
                                         find('&', output.find('fmt_list='))]
                    formats = format_text.split(',')

                    c['screen'] = []
                    c['sound'] = []
                    c['container'] = []
                    c['encoding'] = []
                    c['rate'] = []

                    screen = ''
                    sound = ''
                    container = ''
                    encoding = ''
                    rate = ''
                    for x in formats:
                        xx = x.split('/')
                        #xx = x.split('%2F')
                        f = xx[0]
                        if f == '5':
                            fmt = '240p'
                            screen = '400x226'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '34':
                            fmt = '360p'
                            screen = '640x360'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '35':
                            fmt = '480p'
                            screen = '851x480'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '22':
                            fmt = '720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '37':
                            fmt = '1080p'
                            screen = '1920x1080'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '18':
                            fmt = 'Medium'
                            screen = '480x360'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '43':
                            fmt = 'WebM 480p'
                            screen = '854x480'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '45':
                            fmt = 'WebM 720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '17':
                            fmt = 'Mobile'
                            screen = '176x144'
                            sound = 'stereo'
                            container = '3GP'
                            encoding = 'MPEG-4 Visual'
                            rate = '44100 Hz'

                        if f == '0, 5':
                            fmt = 'Standard, Old formats (pre Feb 2009)'
                            screen = '320x240'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '6':
                            fmt = 'High, Old formats (pre Feb 2009)'
                            screen = '480x360'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '44100 Hz'

                        if f == '13':
                            fmt = 'Mobile, Old formats (pre Feb 2009)'
                            screen = '176x144'
                            sound = 'mono'
                            container = '3GP'
                            encoding = 'H.263'
                            rate = '8000 Hz'

                        c['screen'].append(screen)
                        c['sound'].append(sound)
                        c['container'].append(container)
                        c['encoding'].append(encoding)
                        c['rate'].append(rate)

                    return sj.dumps(c)
        except:
            return sj.dumps(['error'])
Exemple #32
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:

        c['movies'] = []
        c['screen'] = []
        c['sound'] = []
        c['container'] = []
        c['encoding'] = []
        c['rate'] = []

        cj = cookielib.LWPCookieJar()
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        opener.addheaders = [('User-Agent', request.env.http_user_agent)]
        urllib2.install_opener(opener)
        try:
            f = opener.open(c['url'])
        except:
            return redirect('/')
        cj.save(os.path.join(request.folder, 'static/tudou.cookie'))
        content = f.read()
        f.close()

        try:
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='gbk'))
            scripts = data.xpath(
                "//script[1]",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})

            title = data.xpath("//title/text()")
            c['title'] = ''.join(title)
            c['title'] = c['title'].rsplit(u'-', 1)[0].strip()

            output = ''
            for x in scripts:
                output += lxml.etree.tostring(x)

            output = urllib2.unquote(output)
            f = open('/tmp/test', 'wa')
            f.write(output)
            f.close()
            #if not find iid, that mean old format, using another code to capture movie_iid
            movie_iid = output[output.find('iid') + 5:output.find('iid') + 15]
            movie_iid = re.findall("\d{8,12}", movie_iid)
            if movie_iid:
                movie_iid = movie_iid[0]

            if len(movie_iid) == 0:
                scripts = data.xpath("//script[1]",
                                     namespaces={
                                         "regxp":
                                         "http://exslt.org/regular-expressions"
                                     })

                output = ''
                for x in scripts:
                    output += lxml.etree.tostring(x)
                movie_iid = re.findall("\d{8,12}", output)

                if movie_iid:
                    movie_iid = movie_iid[0]

            if len(movie_iid) == 0:
                movie_iid = re.findall("\d{8,12}", content)
                print movie_iid
                if movie_iid:
                    movie_iid = movie_iid[0]

            f = opener.open('http://v2.tudou.com/v?it=%s' % (movie_iid))
            content = f.read()
            f.close()

            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            scripts = data.xpath(
                "//f/text()",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})

            for x in scripts:
                c['movies'].append(x)
                c['screen'].append('448x336')
                c['sound'].append('stereo')
                c['container'].append('F4V')
                c['encoding'].append('MPEG-4 AAC audio')
                c['rate'].append('44100 Hz')
                c['paster'] = 'true'
        except:
            return sj.dumps(['error'])

    return sj.dumps(c)
Exemple #33
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    try:
        c = {}
        c['url'] = request.vars.url or ''
        if c['url']:
            headers = {'User-Agent':request.env.http_user_agent}
            http = httplib2.Http()
            resp, content = http.request(c['url'], headers = headers)
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            title = data.xpath("//h1[@id='itemtitle']/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            if title:
                title = title[0]
            video_src = data.xpath("//link[@rel='video_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            if video_src:
                c['title'] = title
                c['movies'] = []
                c['screen'] = []
                c['sound'] = []
                c['container'] = []
                c['encoding'] = []
                c['rate'] = []

                movie = video_src[0]
                if movie.count('http://vimeo.com/'):
                    movie_id = movie.split('?')[1].split('&amp;')[0].split('=')[1].split('&')[0]
                    resp, content = http.request('http://vimeo.com/moogaloop/load/clip:%s' % movie_id, headers = headers)
                    signature = re.findall('<request_signature>(.*)</request_signature>', content)
                    expires = re.findall('<request_signature_expires>(.*)</request_signature_expires>',content)
                    movie = 'http://vimeo.com/moogaloop/play/clip:%s/%s/%s/?q=hd&type=local&embed_location=' % (movie_id, signature[0], expires[0])

                    c['movies'].append(movie)
                    c['screen'].append('640x480')
                    c['sound'].append('stereo')
                    c['container'].append('MP4')
                    c['encoding'].append('H.264/AVC Video')
                    c['rate'].append('44100 Hz')
                    c['paster'] = 'true'
                    return sj.dumps(c)

                c['movies'].append(movie)
                c['screen'].append('470x384')
                c['sound'].append('stereo')
                c['container'].append('FLV')
                c['encoding'].append('H.264/AVC Video')
                c['rate'].append('22050 Hz')
                c['paster'] = 'true'
                return sj.dumps(c)
            else:
                video_src = data.xpath("//param[@name='src']/@value", namespaces={"regxp": "http://exslt.org/regular-expressions"})
                if video_src:
                    video_src = video_src[0].rsplit('/',1)[-1].split('?')[0]
                    c['url'] = 'http://www.youtube.com/watch?v=%s' % video_src
           
                    http = httplib2.Http()
                    resp, content = http.request(c['url'], headers = headers)
                    data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
                    scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"})

                    output=''
                    for x in scripts:
                        output += lxml.etree.tostring(x)
                    
                    output = urllib2.unquote(output)
                    movie_url = output[output.find('fmt_url_map=')+12:output.find('&amp;csi_page_type')]

                    movie_urls = movie_url.split('|')
                    #use for urlencode
                    #movie_urls = movie_url.split('%7C')
                    c['movies'] = []
                    for i in range(1, len(movie_urls)):
                        #use for urlencode
                        #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
                        c['movies'].append(movie_urls[i].rsplit(',',1)[0])

                    format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))]
                    formats = format_text.split(',')
                    
                    c['screen'] = []
                    c['sound'] = []
                    c['container'] = []
                    c['encoding'] = []
                    c['rate'] = []

                    screen = ''
                    sound = ''
                    container = ''
                    encoding = ''
                    rate = ''
                    for x in formats:
                        xx = x.split('/')
                        #xx = x.split('%2F')
                        f = xx[0]
                        if f == '5':
                            fmt = '240p'
                            screen = '400x226'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '34':
                            fmt = '360p'
                            screen = '640x360'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '35':
                            fmt = '480p'
                            screen = '851x480'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '22':
                            fmt = '720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '37':
                            fmt = '1080p'
                            screen = '1920x1080'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '18':
                            fmt = 'Medium'
                            screen = '480x360'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '43':
                            fmt = 'WebM 480p'
                            screen = '854x480'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '45':
                            fmt = 'WebM 720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '17':
                            fmt = 'Mobile'
                            screen = '176x144'
                            sound = 'stereo'
                            container = '3GP'
                            encoding = 'MPEG-4 Visual'
                            rate = '44100 Hz'

                        if f == '0, 5':
                            fmt = 'Standard, Old formats (pre Feb 2009)'
                            screen = '320x240'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '6':
                            fmt = 'High, Old formats (pre Feb 2009)'
                            screen = '480x360'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '44100 Hz'

                        if f == '13':
                            fmt = 'Mobile, Old formats (pre Feb 2009)'
                            screen = '176x144'
                            sound = 'mono'
                            container = '3GP'
                            encoding = 'H.263'
                            rate = '8000 Hz'
                            
                        c['screen'].append(screen)
                        c['sound'].append(sound)
                        c['container'].append(container)
                        c['encoding'].append(encoding)
                        c['rate'].append(rate)
                        c['paster'] = 'true'

        if not c['movie']:
            return sj.dumps(['error'])
            
        return sj.dumps(c)
    except:
        return sj.dumps(['error'])
Exemple #34
0
def download():
    if not common.check_verify(request,session,db):
        return redirect('/')
    c = {}
    c['url'] = request.vars.url or ''
    if c['url']:

        c['movies'] = []
        c['screen'] = []
        c['sound'] = []
        c['container'] = []
        c['encoding'] = []
        c['rate'] = []
        
        cj = cookielib.LWPCookieJar()
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        opener.addheaders = [('User-Agent', request.env.http_user_agent)]
        urllib2.install_opener(opener)
        try:
            f = opener.open(c['url'])
        except:
            return redirect('/')
        cj.save(os.path.join(request.folder,'static/tudou.cookie'))
        content = f.read()
        f.close()
        
        try:
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='gbk') )
            scripts = data.xpath("//script[1]", namespaces={"regxp": "http://exslt.org/regular-expressions"})

            title = data.xpath("//title/text()")
            c['title'] = ''.join(title)
            c['title'] = c['title'].rsplit(u'-',1)[0].strip()

            output=''
            for x in scripts:
                output += lxml.etree.tostring(x)
                
            output = urllib2.unquote(output)
            f=open('/tmp/test','wa')
            f.write(output)
            f.close()
            #if not find iid, that mean old format, using another code to capture movie_iid
            movie_iid = output[output.find('iid')+5:output.find('iid')+15]
            movie_iid = re.findall("\d{8,12}", movie_iid)
            if movie_iid:
                movie_iid = movie_iid[0]
            
            if len(movie_iid) == 0:
                scripts = data.xpath("//script[1]", namespaces={"regxp": "http://exslt.org/regular-expressions"})

                output=''
                for x in scripts:
                    output += lxml.etree.tostring(x)
                movie_iid = re.findall("\d{8,12}", output)

                if movie_iid:
                    movie_iid = movie_iid[0]

            if len(movie_iid) == 0:
                movie_iid = re.findall("\d{8,12}", content)
                print movie_iid
                if movie_iid:
                    movie_iid = movie_iid[0]
                    
            f = opener.open('http://v2.tudou.com/v?it=%s' % (movie_iid))
            content = f.read()
            f.close()
            
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            scripts = data.xpath("//f/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            
            for x in scripts:
                c['movies'].append(x)
                c['screen'].append('448x336')
                c['sound'].append('stereo')
                c['container'].append('F4V')
                c['encoding'].append('MPEG-4 AAC audio')
                c['rate'].append('44100 Hz')
                c['paster'] = 'true'
        except:
            return sj.dumps(['error'])

    return sj.dumps(c)
Exemple #35
0
def download():
    if not common.check_verify(request, session, db):
        return redirect('/')
    try:
        c = {}
        c['url'] = request.vars.url or ''
        if c['url']:
            headers = {'User-Agent': request.env.http_user_agent}
            http = httplib2.Http()
            resp, content = http.request(c['url'], headers=headers)
            data = lxml.etree.parse(cStringIO.StringIO(content),
                                    lxml.etree.HTMLParser(encoding='utf-8'))
            title = data.xpath(
                "//h1[@id='itemtitle']/text()",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            if title:
                title = title[0]
            video_src = data.xpath(
                "//link[@rel='video_src']/@href",
                namespaces={"regxp": "http://exslt.org/regular-expressions"})
            if video_src:
                c['title'] = title
                c['movies'] = []
                c['screen'] = []
                c['sound'] = []
                c['container'] = []
                c['encoding'] = []
                c['rate'] = []

                movie = video_src[0]
                if movie.count('http://vimeo.com/'):
                    movie_id = movie.split('?')[1].split('&amp;')[0].split(
                        '=')[1].split('&')[0]
                    resp, content = http.request(
                        'http://vimeo.com/moogaloop/load/clip:%s' % movie_id,
                        headers=headers)
                    signature = re.findall(
                        '<request_signature>(.*)</request_signature>', content)
                    expires = re.findall(
                        '<request_signature_expires>(.*)</request_signature_expires>',
                        content)
                    movie = 'http://vimeo.com/moogaloop/play/clip:%s/%s/%s/?q=hd&type=local&embed_location=' % (
                        movie_id, signature[0], expires[0])

                    c['movies'].append(movie)
                    c['screen'].append('640x480')
                    c['sound'].append('stereo')
                    c['container'].append('MP4')
                    c['encoding'].append('H.264/AVC Video')
                    c['rate'].append('44100 Hz')
                    c['paster'] = 'true'
                    return sj.dumps(c)

                c['movies'].append(movie)
                c['screen'].append('470x384')
                c['sound'].append('stereo')
                c['container'].append('FLV')
                c['encoding'].append('H.264/AVC Video')
                c['rate'].append('22050 Hz')
                c['paster'] = 'true'
                return sj.dumps(c)
            else:
                video_src = data.xpath(
                    "//param[@name='src']/@value",
                    namespaces={
                        "regxp": "http://exslt.org/regular-expressions"
                    })
                if video_src:
                    video_src = video_src[0].rsplit('/', 1)[-1].split('?')[0]
                    c['url'] = 'http://www.youtube.com/watch?v=%s' % video_src

                    http = httplib2.Http()
                    resp, content = http.request(c['url'], headers=headers)
                    data = lxml.etree.parse(
                        cStringIO.StringIO(content),
                        lxml.etree.HTMLParser(encoding='utf-8'))
                    scripts = data.xpath(
                        "//script[contains(text(),'object')]",
                        namespaces={
                            "regxp": "http://exslt.org/regular-expressions"
                        })

                    output = ''
                    for x in scripts:
                        output += lxml.etree.tostring(x)

                    output = urllib2.unquote(output)
                    movie_url = output[output.find('fmt_url_map=') +
                                       12:output.find('&amp;csi_page_type')]

                    movie_urls = movie_url.split('|')
                    #use for urlencode
                    #movie_urls = movie_url.split('%7C')
                    c['movies'] = []
                    for i in range(1, len(movie_urls)):
                        #use for urlencode
                        #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
                        c['movies'].append(movie_urls[i].rsplit(',', 1)[0])

                    format_text = output[output.find('fmt_list=') + 9:output.
                                         find('&', output.find('fmt_list='))]
                    formats = format_text.split(',')

                    c['screen'] = []
                    c['sound'] = []
                    c['container'] = []
                    c['encoding'] = []
                    c['rate'] = []

                    screen = ''
                    sound = ''
                    container = ''
                    encoding = ''
                    rate = ''
                    for x in formats:
                        xx = x.split('/')
                        #xx = x.split('%2F')
                        f = xx[0]
                        if f == '5':
                            fmt = '240p'
                            screen = '400x226'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '34':
                            fmt = '360p'
                            screen = '640x360'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '35':
                            fmt = '480p'
                            screen = '851x480'
                            sound = 'stereo'
                            container = 'FLV'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '22':
                            fmt = '720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '37':
                            fmt = '1080p'
                            screen = '1920x1080'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '18':
                            fmt = 'Medium'
                            screen = '480x360'
                            sound = 'stereo'
                            container = 'MP4'
                            encoding = 'MPEG-4 AVC(H.264)'
                            rate = '44100 Hz'

                        if f == '43':
                            fmt = 'WebM 480p'
                            screen = '854x480'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '45':
                            fmt = 'WebM 720p'
                            screen = '1280x720'
                            sound = 'stereo'
                            container = 'WebM'
                            encoding = 'VP8'
                            rate = '44100 Hz'

                        if f == '17':
                            fmt = 'Mobile'
                            screen = '176x144'
                            sound = 'stereo'
                            container = '3GP'
                            encoding = 'MPEG-4 Visual'
                            rate = '44100 Hz'

                        if f == '0, 5':
                            fmt = 'Standard, Old formats (pre Feb 2009)'
                            screen = '320x240'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '22050 Hz'

                        if f == '6':
                            fmt = 'High, Old formats (pre Feb 2009)'
                            screen = '480x360'
                            sound = 'mono'
                            container = 'FLV'
                            encoding = 'H.263'
                            rate = '44100 Hz'

                        if f == '13':
                            fmt = 'Mobile, Old formats (pre Feb 2009)'
                            screen = '176x144'
                            sound = 'mono'
                            container = '3GP'
                            encoding = 'H.263'
                            rate = '8000 Hz'

                        c['screen'].append(screen)
                        c['sound'].append(sound)
                        c['container'].append(container)
                        c['encoding'].append(encoding)
                        c['rate'].append(rate)
                        c['paster'] = 'true'

        if not c['movie']:
            return sj.dumps(['error'])

        return sj.dumps(c)
    except:
        return sj.dumps(['error'])
Exemple #36
0
def download(): 
    if not common.check_verify(request,session,db):
        return redirect('/')
    
    c = {}
    c['url'] = request.vars.url or ''
    c['page'] = request.vars.page or 1
    if not c['url']:
        return redirect("/")
    #log to db
    db.download_log.insert(
        userip = request.env.remote_addr,
        query_string = c['url'],
        query_time = str(datetime.datetime.now())
    )
    keywords = None
    c['search_title'] = []
    c['search_image'] = []
    c['search_url'] = []
    c['search_view'] = []
    if c['url'].find("http://")==-1:
        #keywords = c['url'].replace(" ","+")
        keywords = c['url']
        print keywords

        db.search_keywords.insert(
        keyword = keywords,
        userip = request.env.remote_addr,
        request_time = str(datetime.datetime.now())
        )    
            
        http = httplib2.Http()
        url = 'http://www.youtube.com/results?aq=f&search_query=%s' % urllib2.quote(keywords)
        if c['page']:
            url = 'http://www.youtube.com/results?page=%s&search_query=%s' % (c['page'], urllib2.quote(keywords))
        
        #print 'http://www.youtube.com/results?search_query=%s' % urllib2.quote(keywords)
        resp, content = http.request(url, "GET", headers = headers )
        data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
        scripts = data.xpath("//div[@class='video-long-title']/a", namespaces={"regxp": "http://exslt.org/regular-expressions"})
        for link in scripts:
            c['search_title'].append( ''.join(link.xpath("@title")) )
            c['search_url'].append( urllib2.quote('http://www.youtube.com' + ''.join(link.xpath("@href"))) )
            c['search_image'].append( ''.join(link.xpath("ancestor::div[@class='video-entry'][1]//img[not(contains(@src,'pixel-vfl73.gif'))]/@src|ancestor::div[@class='video-entry'][1]//img/@thumb")) )
            c['search_view'].append( ''.join(link.xpath("following::span[@class='video-view-count'][1]/text()")) )
        c['search_record'] = ''.join(data.xpath("//div[@id='search-num-results']/strong[1]/text()"))
        c['search_results'] = ''.join(data.xpath("//div[@id='search-num-results']/strong[2]/text()"))
        print c['search_results']

    else:
        #check support service.
        if c['url'].count('www.wretch.cc'):
            return redirect(URL(r=request,c='wretch',f='download', vars=dict(url=c['url'])))
        
        elif c['url'].count('tudou.com'):
            return redirect(URL(r=request,c='tudou',f='download', vars=dict(url=c['url'])))

        elif c['url'].count('youku.com'):
            return redirect(URL(r=request,c='youku',f='download', vars=dict(url=c['url'])))
            
        elif c['url'].count('facebook.com'):
            return redirect(URL(r=request,c='facebook',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('vlog.xuite.net'):
            return redirect(URL(r=request,c='xuite',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('mymedia.yam.com'):
            return redirect(URL(r=request,c='yam',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('share.youthwant.com.tw'):
            return redirect(URL(r=request,c='youthwant',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('video.sina.com.cn'):
            return redirect(URL(r=request,c='sina',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('video.udn.com'):
            return redirect(URL(r=request,c='udn',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('video.libertytimes.com.tw'):
            return redirect(URL(r=request,c='libertytimes',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('nownews.com'):
            return redirect(URL(r=request,c='nownews',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('openv.com'):
            return redirect(URL(r=request,c='openv',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('www.56.com'):
            return redirect(URL(r=request,c='56',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('www.5min.com'):
            return redirect(URL(r=request,c='5min',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('alcachondeo.com'):
            return redirect(URL(r=request,c='alcachondeo',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('blip.tv'):
            return redirect(URL(r=request,c='blip',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('www.bofunk.com'):
            return redirect(URL(r=request,c='bofunk',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('www.bollywoodhungama.com'):
            return redirect(URL(r=request,c='bollywoodhungama',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('www.break.com'):
            return redirect(URL(r=request,c='breakcom',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('www.buzzhumor.com'):
            return redirect(URL(r=request,c='buzzhumor',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('buzznet.com'):
            return redirect(URL(r=request,c='buzznet',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('vimeo.com'):
            return redirect(URL(r=request,c='vimeo',f='download', vars=dict(url=c['url'])))
        elif c['url'].count('youtube.com'):
            pass
        else:
            return sj.dumps(['error'])

        if c['url']:
            http = httplib2.Http()
            try:
                resp, content = http.request(c['url'], headers = headers)
            except :
                return redirect('/')
            data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') )
            scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"})
            
            title = data.xpath("//span[@id='eow-title']/text()")
            c['title'] = ''.join(title)

            output=''
            for x in scripts:
                output += lxml.etree.tostring(x)
            
            output = urllib2.unquote(output)
            movie_url = output[output.find('fmt_url_map=')+12:output.find('&amp;csi_page_type')]

            movie_urls = movie_url.split('|')
            #use for urlencode
            #movie_urls = movie_url.split('%7C')
            c['movies'] = []
            for i in range(1, len(movie_urls)):
                #use for urlencode
                #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'')
				movie_url = movie_urls[i].rsplit(',',1)[0]
				bitly = 'http://api.bit.ly/v3/shorten?login=gogocow&apiKey=R_993990c67c691a15467f452eb07c1532&longUrl=%s&format=json' % (urllib.quote(movie_url))
				resp, content = http.request(bitly, "GET", headers = headers )
				
                c['movies'].append(content['url'])

            format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))]
            formats = format_text.split(',')
            
            c['screen'] = []
            c['sound'] = []
            c['container'] = []
            c['encoding'] = []
            c['rate'] = []

            screen = ''
            sound = ''
            container = ''
            encoding = ''
            rate = ''
            for x in formats:
                xx = x.split('/')
                #xx = x.split('%2F')
                f = xx[0]
                if f == '5':
                    fmt = '240p'
                    screen = '400x226'
                    sound = 'stereo'
                    container = 'FLV'
                    encoding = 'H.263'
                    rate = '22050 Hz'

                if f == '34':
                    fmt = '360p'
                    screen = '640x360'
                    sound = 'stereo'
                    container = 'FLV'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '35':
                    fmt = '480p'
                    screen = '851x480'
                    sound = 'stereo'
                    container = 'FLV'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '22':
                    fmt = '720p'
                    screen = '1280x720'
                    sound = 'stereo'
                    container = 'MP4'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '37':
                    fmt = '1080p'
                    screen = '1920x1080'
                    sound = 'stereo'
                    container = 'MP4'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '18':
                    fmt = 'Medium'
                    screen = '480x360'
                    sound = 'stereo'
                    container = 'MP4'
                    encoding = 'MPEG-4 AVC(H.264)'
                    rate = '44100 Hz'

                if f == '43':
                    fmt = 'WebM 480p'
                    screen = '854x480'
                    sound = 'stereo'
                    container = 'WebM'
                    encoding = 'VP8'
                    rate = '44100 Hz'

                if f == '45':
                    fmt = 'WebM 720p'
                    screen = '1280x720'
                    sound = 'stereo'
                    container = 'WebM'
                    encoding = 'VP8'
                    rate = '44100 Hz'

                if f == '17':
                    fmt = 'Mobile'
                    screen = '176x144'
                    sound = 'stereo'
                    container = '3GP'
                    encoding = 'MPEG-4 Visual'
                    rate = '44100 Hz'

                if f == '0, 5':
                    fmt = 'Standard, Old formats (pre Feb 2009)'
                    screen = '320x240'
                    sound = 'mono'
                    container = 'FLV'
                    encoding = 'H.263'
                    rate = '22050 Hz'

                if f == '6':
                    fmt = 'High, Old formats (pre Feb 2009)'
                    screen = '480x360'
                    sound = 'mono'
                    container = 'FLV'
                    encoding = 'H.263'
                    rate = '44100 Hz'

                if f == '13':
                    fmt = 'Mobile, Old formats (pre Feb 2009)'
                    screen = '176x144'
                    sound = 'mono'
                    container = '3GP'
                    encoding = 'H.263'
                    rate = '8000 Hz'
                    
                c['screen'].append(screen)
                c['sound'].append(sound)
                c['container'].append(container)
                c['encoding'].append(encoding)
                c['rate'].append(rate)
                c['paster'] = 'true'
            
    response.view = './youtube/index.beta.html'
    return sj.dumps(c)