def main(args): """ Mainline of application """ config = config_from_args(args) if config.single['id'] != '': id = int(config.single['id']) v = Video(config, id) s = SubtitleV4(config, id) filename = '%s.srt' % (os.path.basename(v.video_url())) s.download(filename) v.download() elif config.search['query'] == default_config.search['query']: print 'Please specify a query. Example: "--search-query=Queen Seon Deok"' sys.exit(1) else: searcher = ChannelSearcher(config) channels = searcher.search(config.search['query'], config.search['method']) for channel in channels: sys.stdout.write('Channel: %s\n' %(channel.name)) for episode in channel.episodes(): sys.stdout.write('Episode: %s\n' % (episode.episode_num)) media_id = episode.media_id video = Video(config, media_id) if not config.video['skip']: video.download() video_info = video.video_info() filename = video.filename() # remove the extension filename = os.path.splitext(filename)[0] if config.subtitles['check_parts']: # videos that have multiple subtitle parts will need # to have them downloaded separately and merged parts = VideoParts(config, episode.full_url).parts() first = True start_index = 0 for part in parts: start_time = int(part['part_info']['start_time']) subtitle = Subtitle(config, part['media_resource_id'], start_index, start_time) if first: subtitle.download(filename) first = False else: subtitle.merge(filename) start_index = subtitle.end_index else: media_resource_id = video.media_resource(video_info) subtitle = Subtitle(config, media_resource_id) subtitle.download(filename)
""" Viki.com Flash video downloader Hekar Khani 2012 """ import os from config import default_config from video import Video from subtitles import SubtitleV4 if __name__ == '__main__': media_id = 1042610 c = default_config v = Video(c, media_id) s = SubtitleV4(c, media_id) filename = '%s.srt' % (os.path.basename(v.video_url())) s.download(filename) v.download()