from tkinter import * from tkinter import ttk from tkinter import filedialog from tkinter import messagebox import os.path import downloader check = os.path.exists("dir.txt") if check == False: f = open("dir.txt", "w") f.close() qlist = [ "144p", "240p", "360p", "480p", "MaxQ" ] mp = [ "Audio (MP3)", "Video (MP4)" ] # Root root = Tk() root.title("GonTube") root.geometry("390x400") root.resizable(False, False) icon = Image("photo", file="icon.png") root.tk.call('wm', 'iconphoto', root._w, icon) # Settings def openSettings(): nw = Toplevel(root) nw.title("Settings") nw.geometry("350x150") nw.tk.call('wm', 'iconphoto', nw._w, icon) nw.resizable(False, False) Label(nw, text="Directory").grid(column=1, row=2, padx=20, pady=50) def Save(): root.filename = filedialog.askdirectory(initialdir = "/",title = "Select directory") f = open("dir.txt", "w") f.write(root.filename) f.close() dirb = Button(nw, text="Change Directory", command=Save).grid(column=2, row=2, padx=50, sticky=E) # Menu menu_bar = Menu(root) menu = Menu(menu_bar, tearoff=0) menu_bar.add_cascade(label="Options", menu=menu) menu.add_command(label="Settings", command=openSettings) menu.add_command(label="Info") root.config(menu=menu_bar) # Link field link = StringVar() link_entry = ttk.Entry(root, width=25, textvariable=link) link_entry.grid(column=2, row=3, padx=20, pady=80) # Labels Label(root, text="Quality", font=(None, 23)).grid(column=1, row=2, pady=40, sticky = W) Label(root, text="Format", font=(None, 23)).grid(column=1, row=1, pady=40, sticky = W) Label(root, text="URL", font=(None, 23)).grid(column=1, row=3, pady=40, sticky = W) # Buttons and Stuff var1 = StringVar() var1.set(qlist[4]) var2 = StringVar() var2.set(mp[0]) qdd = OptionMenu(root, var1, *qlist) qdd.grid(column=2, row=2, pady=20, padx=5, sticky = E) mdd = OptionMenu(root, var2, *mp) mdd.grid(column=2, row=1, pady=20, padx=5, sticky = E) # Popups :) def popup(): messagebox.showinfo("GonTube", "Done") def Download(): quality = var1.get() mpf = var2.get() url = link.get() f = open("dir.txt", "r") dire = f.readline() f.close() if(mpf == "Audio (MP3)"): downloader.DownloadMP3(url, dire) else: downloader.DownloadMP4(url, quality, dire) link_entry.delete(0, 'end') popup() downb = Button(root, text="Download", command=Download).grid(column=3, row=3) root.mainloop()