2121api = Handler (videoURL )
2222
2323q_list = ['4k' , '1080p' , '720p' , '480p' , '360p' , '240p' ]
24- q_list .reverse ()
24+ # q_list.reverse()
2525
26- urlList = {}
26+ urlList = []
2727
2828
2929def getVidInfo (r ):
3030 for video_metadata in api .run (quality = r ):
3131
32- quality = video_metadata .get ("q" )
33- vidLink = video_metadata .get ("dlink" )
32+ q = video_metadata .get ("q" )
33+ dlink = video_metadata .get ("dlink" )
34+ size = video_metadata .get ("size" )
3435
35- if vidLink == None :
36+ if dlink == None :
3637 pass
3738 else :
38- urlList .update ({ quality : vidLink } )
39+ urlList .append ([ q , size , dlink ] )
3940 # print(r, " fetched")
4041
42+
43+
4144# Iterate over q_list to check if res quality exist on that video
42- for count , r in enumerate ( q_list ) :
45+ for r in q_list :
4346 getVidInfo (r )
44-
45- # print qualities to the terminal
47+
48+ # print(urlList)
49+
50+ # Create a new list to show
4651showList = {}
47- for count , q in enumerate (urlList , 1 ):
48- showList .update ({count : q })
49-
50- print (tabulate (showList .items (), headers = ["Q-No" , "Quality" ], tablefmt = "heavy_grid" ))
52+ for count , item in enumerate (urlList , 1 ):
53+ del item [2 ] # Remove dlink from list
54+ q = item [0 ]
55+ # print(i)
56+ size = item [1 ]
57+ showList .update ( { count : { "q" :q , "size" : size }} )
5158
59+ # print(showList)
5260
53- userInput = int (input ("Enter the your Q-No: " ))
54- cmds .clear ()
55- print ("Downloading...Please wait!" )
61+ def showQTable ():
62+ tableList = []
63+ for count , item in enumerate (showList , 1 ):
64+ q = showList [item ]["q" ]
65+ size = showList [item ]["size" ]
66+ tableList .append ( [count , q , size ] )
67+ print (tabulate (tableList , headers = ["Q-No" , "Quality" , "Size" ], tablefmt = "heavy_grid" ))
68+
69+ showQTable ()
70+
71+
72+
73+
74+
75+ try :
76+ userInput = int (input ("Enter the your Q-No: " ))
77+ cmds .clear ()
78+ banner .WelcomeBanner ()
79+ print ("Downloading...Please wait!\n " )
80+ except :
81+ print ("Wrong Input try again!" )
5682
5783mediaPath = f"{ os .getcwd ()} /vids"
5884
5985# Download the video using user's input
60- for video_metadata in api .run (quality = showList [userInput ]):
86+ for video_metadata in api .run (quality = showList [userInput ][ "q" ] ):
6187 # print(video_metadata)
62-
6388 if not os .path .exists (mediaPath ):
6489 os .makedirs (mediaPath )
6590
@@ -74,8 +99,8 @@ def getVidInfo(r):
7499
75100cmds .clear ()
76101banner .WelcomeBanner ()
102+ print (f"Download Completed:\n { vidFileName } ✅" )
77103print (f"\n Please Check the 'vid' Folder for your files!\n " )
78- print ("Download Completed! ✅" )
79104
80105
81106
0 commit comments