示例#1
0
class VideoVimeo(VideoBase):
    @staticmethod
    def get_host():
        return 'vimeo'

    @staticmethod
    def can_rip(url):
        return 'vimeo.com/' in url

    @staticmethod
    def get_sample_url():
        return 'http://vimeo.com/17135848'

    def rip_video(self):
        r = self.httpy.get(self.url)

        # Get config
        if not 'data-config-url="' in r:
            raise Exception('no data-config-url" found at %s' % self.url)
        config = self.httpy.between(r, 'data-config-url="', '"')[0]
        config = config.replace('&', '&')

        r = self.httpy.get(config)
        json = loads(r)
        formats = json['request']['files']['h264']
        for ideal in ['hd', 'sd', 'mobile']:
            if ideal in formats:
                break

        if not ideal in formats:
            raise Exception('could not find appropriate video format at %s' %
                            self.url)

        vid = formats[ideal]['url']

        result = self.get_video_info(vid)
        result['poster'] = None  # No preview
        return result

    @staticmethod
    def test():
        from Httpy import Httpy
        httpy = Httpy()
        try:
            r = httpy.get('http://www.vimeo.com/')
            if len(r.strip()) == 0:
                raise Exception('empty response from vimeo.com')
        except Exception, e:
            raise e
        return VideoBase.test_ripper(VideoVimeo)
示例#2
0
	def update_videos(self):
		html = ''
		for ripper in VideoBase.iter_rippers():
			try:
				print 'testing %s ripper...' % ripper.get_host()
				message = ripper.test()
				if message == None:
					available = 1
				else:
					available = 0
			except Exception, e:
				available = -1
				message = str(e)
			url = ripper.get_sample_url().replace('&', '||AMP||')
			url = 'video=%s' % url
			html += self.host_html(ripper.get_host(), url, available, message, None)
示例#3
0
 def update_videos(self):
     html = ''
     for ripper in VideoBase.iter_rippers():
         try:
             print 'testing %s ripper...' % ripper.get_host()
             message = ripper.test()
             if message == None:
                 available = 1
             else:
                 available = 0
         except Exception, e:
             available = -1
             message = str(e)
         url = ripper.get_sample_url().replace('&', '||AMP||')
         url = 'video=%s' % url
         html += self.host_html(ripper.get_host(), url, available, message)
示例#4
0
 def test():
     return VideoBase.test_ripper(VideoCollegehumor)
示例#5
0
	def test():
		return VideoBase.test_ripper(VideoXhamster)
示例#6
0
 def test():
     return VideoBase.test_ripper(VideoXhamster)
示例#7
0
	def test():
		return VideoBase.test_ripper(VideoCollegehumor)
示例#8
0
	def test():
		return VideoBase.test_ripper(VideoPlayvid)
示例#9
0
	def test():
		return VideoBase.test_ripper(VideoSeenive)
示例#10
0
	def test():
		return VideoBase.test_ripper(VideoSoundgasm)
示例#11
0
	def test():
		return VideoBase.test_ripper(VideoMobypicture)
示例#12
0
	def test():
		return VideoBase.test_ripper(VideoYouporn)
示例#13
0
	def test():
		return VideoBase.test_ripper(VideoDrtuber)
示例#14
0
 def test():
     return VideoBase.test_ripper(VideoDrtuber)
示例#15
0
	def test():
		return VideoBase.test_ripper(VideoDailymotion)
示例#16
0
 def test():
     return VideoBase.test_ripper(VideoPlayvid)
示例#17
0
 def test():
     return VideoBase.test_ripper(VideoDailymotion)
示例#18
0
 def test():
     return VideoBase.test_ripper(VideoSetsdb)
示例#19
0
 def test():
     return VideoBase.test_ripper(VideoXtube)
示例#20
0
	def test():
		return VideoBase.test_ripper(_SampleVideo)
示例#21
0
文件: VideoSetsdb.py 项目: 4pr0n/rip3
	def test():
		return VideoBase.test_ripper(VideoSetsdb)
示例#22
0
文件: VideoTube8.py 项目: 4pr0n/rip3
	def test():
		return VideoBase.test_ripper(VideoTube8)
示例#23
0
	def test():
		return VideoBase.test_ripper(VideoMotherless)
示例#24
0
	def test():
		return VideoBase.test_ripper(VideoCliphunter)
示例#25
0
 def test():
     return VideoBase.test_ripper(VideoVideobam)
示例#26
0
 def test():
     return VideoBase.test_ripper(VideoSexykarma)
示例#27
0
 def test():
     return VideoBase.test_ripper(VideoPornably)
示例#28
0
	def test():
		return VideoBase.test_ripper(VideoSpankbang)
示例#29
0
	def test():
		return VideoBase.test_ripper(VideoXvideos)
示例#30
0
文件: VideoVporn.py 项目: 4pr0n/rip3
	def test():
		return VideoBase.test_ripper(VideoVporn)
示例#31
0
 def test():
     return VideoBase.test_ripper(VideoFapdu)
示例#32
0
 def test():
     return VideoBase.test_ripper(VideoSpankbang)
示例#33
0
	def test():
		return VideoBase.test_ripper(VideoKinkylicious)
示例#34
0
 def test():
     return VideoBase.test_ripper(VideoSexykarma)
示例#35
0
 def test():
     return VideoBase.test_ripper(VideoTube8)
示例#36
0
	def test():
		return VideoBase.test_ripper(VideoPornably)
示例#37
0
 def test():
     return VideoBase.test_ripper(VideoSeenive)
示例#38
0
 def test():
     return VideoBase.test_ripper(VideoMotherless)
示例#39
0
 def test():
     return VideoBase.test_ripper(VideoVidearn)
示例#40
0
	def test():
		return VideoBase.test_ripper(VideoRedtube)
示例#41
0
	def test():
		return VideoBase.test_ripper(VideoYoujizz)
示例#42
0
	def test():
		return VideoBase.test_ripper(VideoBeeg)
示例#43
0
文件: VideoFapdu.py 项目: 4pr0n/rip3
	def test():
		return VideoBase.test_ripper(VideoFapdu)
示例#44
0
 def test():
     return VideoBase.test_ripper(VideoXvideos)