man.py suppressed
This commit is contained in:
		
							parent
							
								
									6e22039cfe
								
							
						
					
					
						commit
						92afe7725b
					
				
							
								
								
									
										90
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										90
									
								
								main.py
									
									
									
									
									
								
							@ -1,90 +0,0 @@
 | 
			
		||||
from __future__ import unicode_literals
 | 
			
		||||
import youtube_dl
 | 
			
		||||
from feedgen.feed import FeedGenerator
 | 
			
		||||
import os
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
class ydl_object:
 | 
			
		||||
    def __init__(self,args):
 | 
			
		||||
        self.args = args
 | 
			
		||||
        self.infos = self.fetch_info()
 | 
			
		||||
        print(self.args)
 | 
			
		||||
 | 
			
		||||
    def fetch_info(self):
 | 
			
		||||
        print('Fetching Youtube Link informations...')
 | 
			
		||||
        return youtube_dl.YoutubeDL({'quiet':True,'ignoreerrors':True}).extract_info(self.args.youtube_url, False)
 | 
			
		||||
 | 
			
		||||
    def create_feed(self,results):
 | 
			
		||||
        """
 | 
			
		||||
        replace results by info
 | 
			
		||||
        #results keys
 | 
			
		||||
        _type entries id title uploader uploader_id uploader_url extractor webpage_url webpage_url_basename extractor_key
 | 
			
		||||
        """
 | 
			
		||||
        fg = FeedGenerator()
 | 
			
		||||
        fg.load_extension('podcast')
 | 
			
		||||
        fg.podcast.itunes_category('Podcasting')
 | 
			
		||||
 | 
			
		||||
        fg.title(results['title'])
 | 
			
		||||
        fg.description('none')
 | 
			
		||||
        fg.link(href=self.args.url,rel='self')
 | 
			
		||||
 | 
			
		||||
        for item in results['entries']:
 | 
			
		||||
            """
 | 
			
		||||
            #results['entries'] keys
 | 
			
		||||
            id uploader uploader_id uploader_url channel_id channel_url upload_date license creator title alt_title thumbnail description categories tags subtitles automatic_captions duration
 | 
			
		||||
            """
 | 
			
		||||
            fe = fg.add_entry()
 | 
			
		||||
            fe.id(item['id'])
 | 
			
		||||
            fe.title(item['title'])
 | 
			
		||||
            fe.description(item['description'])
 | 
			
		||||
            item_full_path = self.args.url +'/'+results['title']+'/'+item['title']+'.mp3'
 | 
			
		||||
            fe.enclosure(item_full_path,str(item['duration']),'audio/mpeg')
 | 
			
		||||
 | 
			
		||||
        fg.rss_str(pretty=True)
 | 
			
		||||
        # create folder of feed if it doesn't exists
 | 
			
		||||
        os.makedirs(self.args.dir+'/'+results['title'], exist_ok=True)
 | 
			
		||||
        fg.rss_file(self.args.dir+'/'+results['title']+'/podcast.xml')
 | 
			
		||||
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
    def my_hook(d):
 | 
			
		||||
        if d['status'] == 'finished':
 | 
			
		||||
            print('Done downloading, now converting ...')
 | 
			
		||||
 | 
			
		||||
    def yt_download(ydl_opts):
 | 
			
		||||
        with youtube_dl.YoutubeDL(ydl_opts) as ydl:
 | 
			
		||||
            print('Downloading Videos...')
 | 
			
		||||
            print('Depending on number of files, it can take a while...')
 | 
			
		||||
            results = ydl.extract_info(self.args.youtube_url, not self.args.simulate)
 | 
			
		||||
            print('Done')
 | 
			
		||||
 | 
			
		||||
    def create_opts(infos,type):
 | 
			
		||||
        if type=='audio':
 | 
			
		||||
            ydl_opts = {
 | 
			
		||||
                'quiet':self.args.quiet,
 | 
			
		||||
                'format': 'bestaudio/best',
 | 
			
		||||
                'ignoreerrors': True,
 | 
			
		||||
                'postprocessors': [{
 | 
			
		||||
                    'key': 'FFmpegExtractAudio',
 | 
			
		||||
                    'preferredcodec': 'mp3',
 | 
			
		||||
                    'preferredquality': '192',
 | 
			
		||||
                }],
 | 
			
		||||
                'progress_hooks': [my_hook],
 | 
			
		||||
            }
 | 
			
		||||
        elif type=='video':
 | 
			
		||||
            ydl_opts= {}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        # if youtube url  is a list, then download archive 
 | 
			
		||||
        print('Fetching Url properties...')
 | 
			
		||||
        if 'entries' in infos:
 | 
			
		||||
            ydl_opts['download_archive']= self.args.dir+'/archive.txt'
 | 
			
		||||
            ydl_opts['outtmpl']= self.args.dir+'/%(playlist_title)s/%(title)s.%(ext)s'
 | 
			
		||||
        else:
 | 
			
		||||
            ydl_opts['download_archive']= self.args.dir+'/archive.txt'
 | 
			
		||||
            ydl_opts['outtmpl']= self.args.dir+'/%(title)s.%(ext)s'
 | 
			
		||||
        print('Done')
 | 
			
		||||
 | 
			
		||||
        return ydl_opts
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user