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)
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)
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)
def test(): return VideoBase.test_ripper(VideoCollegehumor)
def test(): return VideoBase.test_ripper(VideoXhamster)
def test(): return VideoBase.test_ripper(VideoPlayvid)
def test(): return VideoBase.test_ripper(VideoSeenive)
def test(): return VideoBase.test_ripper(VideoSoundgasm)
def test(): return VideoBase.test_ripper(VideoMobypicture)
def test(): return VideoBase.test_ripper(VideoYouporn)
def test(): return VideoBase.test_ripper(VideoDrtuber)
def test(): return VideoBase.test_ripper(VideoDailymotion)
def test(): return VideoBase.test_ripper(VideoSetsdb)
def test(): return VideoBase.test_ripper(VideoXtube)
def test(): return VideoBase.test_ripper(_SampleVideo)
def test(): return VideoBase.test_ripper(VideoTube8)
def test(): return VideoBase.test_ripper(VideoMotherless)
def test(): return VideoBase.test_ripper(VideoCliphunter)
def test(): return VideoBase.test_ripper(VideoVideobam)
def test(): return VideoBase.test_ripper(VideoSexykarma)
def test(): return VideoBase.test_ripper(VideoPornably)
def test(): return VideoBase.test_ripper(VideoSpankbang)
def test(): return VideoBase.test_ripper(VideoXvideos)
def test(): return VideoBase.test_ripper(VideoVporn)
def test(): return VideoBase.test_ripper(VideoFapdu)
def test(): return VideoBase.test_ripper(VideoKinkylicious)
def test(): return VideoBase.test_ripper(VideoVidearn)
def test(): return VideoBase.test_ripper(VideoRedtube)
def test(): return VideoBase.test_ripper(VideoYoujizz)
def test(): return VideoBase.test_ripper(VideoBeeg)