def openPrefs(self): guiparam = {} guiparam['destdir'] = StringVar() guiparam['localroot'] = StringVar() guiparam['remoteroot'] = StringVar() guiparam['taglan'] = StringVar() guiparam['sublan'] = StringVar() guiparam['movieset'] = StringVar() guiparam['force'] = IntVar() guiparam['remoterelat'] = IntVar() guiparam['moviefilter'] = StringVar() guiparam['returnval'] = BooleanVar(False) GP = self.mediaPrez.GetGlobalParam() guiparam['destdir'].set(GP['DESTDIR']) guiparam['localroot'].set(GP['LOCALROOT']) guiparam['remoteroot'].set(GP['REMOTEROOT']) guiparam['taglan'].set(GP['TAGLAN']) guiparam['sublan'].set(GP['SUBLAN']) guiparam['movieset'].set(GP['MOVIESET']) guiparam['force'].set(GP['FORCERELOAD']) guiparam['remoterelat'].set(GP['REMOTERELAT']) guiparam['moviefilter'].set(GP['MOVIEFILTER']) filep = Toplevel(self, padx=10, pady=10) filep.protocol("WM_DELETE_WINDOW", "pass") Label(filep, text="Options").pack(anchor=W) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH, expand=1) # f.grid_columnconfigure(0,weight=1) f.grid_columnconfigure(1, weight=1) # f.grid_columnconfigure(2,weight=1) rowi = 0 Label(f, text="Select output dir:").grid(row=rowi, column=0) Entry(f, textvariable=guiparam['destdir']).grid(row=rowi, column=1, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Destination directory", guiparam['destdir'])).grid(row=rowi, column=2, sticky=W + E) rowi = rowi + 1 Label(f, text="Local root dir:").grid(row=rowi, column=0) Entry(f, textvariable=guiparam['localroot']).grid(row=rowi, column=1, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Local root directory", guiparam['localroot'])).grid(row=rowi, column=2, sticky=W + E) rowi = rowi + 1 Label(f, text="Remote root dir:").grid(row=rowi, column=0) Entry(f, textvariable=guiparam['remoteroot']).grid(row=rowi, column=1, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Remote root directory", guiparam['remoteroot'])).grid( row=rowi, column=2, sticky=W + E) rowi = rowi + 1 Checkbutton(f, text="Remote dir is relative", variable=guiparam['remoterelat']).grid(row=rowi, column=0, sticky=W + E) Button(f, text="Remote is PCH/Popcorn", command=lambda: guiparam['remoteroot'].set("file:///opt/sybhttpd/localhost.drives/HARD_DISK/")).grid( row=rowi, column=2, sticky=W + E) rowi = 0 f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH, expand=1) # f.grid_columnconfigure(0,weight=1) f.grid_columnconfigure(1, weight=1) Label(f, text="Filter for videos file (.avi,.mkv ...):").grid(row=rowi, column=0) Entry(f, textvariable=guiparam['moviefilter']).grid(row=rowi, column=1, sticky=W + E) rowi = rowi + 1 Label(f, text="Tag langugage ID (en for english, fr for french, etc...):").grid(row=rowi, column=0) Entry(f, textvariable=guiparam['taglan']).grid(row=rowi, column=1, sticky=W + E) rowi = rowi + 1 Checkbutton(f, text="Force reload from the web", variable=guiparam['force']).grid(row=rowi, column=1, sticky=W + E) f.pack(anchor=W, fill=BOTH, expand=1) rowi = 0 f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH, expand=1) # f.grid_columnconfigure(0,weight=1) f.grid_columnconfigure(1, weight=1) Label(f, text="XBMC .nfo prefs:").grid(row=rowi, column=0) rowi = rowi + 1 Label(f, text="Subtitles langugage ID (empty for none, fre for french, eng for english, etc...):").grid( row=rowi, column=0) Entry(f, textvariable=guiparam['sublan']).grid(row=rowi, column=1, sticky=W + E) rowi = rowi + 1 Label(f, text="Movie set (empty for None):").grid(row=rowi, column=0) Entry(f, textvariable=guiparam['movieset']).grid(row=rowi, column=1, sticky=W + E) f.pack(anchor=W, fill=BOTH, expand=1) f = Frame(filep, padx=2, pady=2) f.pack() Button(f, text="Go", command=lambda: guiparam['returnval'].set(True), width=20).grid(row=0, column=0, sticky=W) Button(f, text="Cancel", command=lambda: guiparam['returnval'].set(False), width=20).grid(row=0, column=1, sticky=E) self.wait_variable(guiparam['returnval']) filep.destroy() if guiparam['returnval'].get(): GP['DESTDIR'] = guiparam['destdir'].get() GP['LOCALROOT'] = guiparam['localroot'].get() GP['REMOTEROOT'] = guiparam['remoteroot'].get() GP['TAGLAN'] = guiparam['taglan'].get() GP['SUBLAN'] = guiparam['sublan'].get() GP['MOVIESET'] = guiparam['movieset'].get() GP['FORCERELOAD'] = guiparam['force'].get() GP['REMOTERELAT'] = guiparam['remoterelat'].get() GP['MOVIEFILTER'] = guiparam['moviefilter'].get() self.updateMovieFilter(GP['MOVIEFILTER']) self.mediaPrez.SetGlobalParam(GP)
def addfilegui(self, path=None, prefonly=False): guiparam = {} guiparam['path'] = StringVar() guiparam['device'] = IntVar() guiparam['destchoice'] = IntVar() guiparam['dest'] = StringVar() guiparam['destfinal'] = StringVar() guiparam['returnval'] = BooleanVar(False) guiparam['taglan'] = StringVar() guiparam['sublan'] = StringVar() guiparam['movieset'] = StringVar() GP = self.getglobalparamcbk() if path != None: guiparam['path'].set(path) guiparam['destchoice'].set(1) if GP['DESTDIR'] != "": guiparam['dest'].set(GP['DESTDIR']) if GP['FINALDIR'] != "": guiparam['destfinal'].set(GP['FINALDIR']) guiparam['destchoice'].set(3) else: guiparam['destchoice'].set(2) guiparam['device'].set(GP['DEVICECONFS']) guiparam['taglan'].set(GP['TAGLAN']) guiparam['sublan'].set(GP['SUBLAN']) guiparam['movieset'].set(GP['MOVIESET']) filep = Toplevel(self, padx=10, pady=10) filep.protocol("WM_DELETE_WINDOW", "pass") if not prefonly: f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(0, weight=1) Label(f, text="Select the file to transcode:").grid(row=0, column=0) Entry(f, textvariable=guiparam['path']).grid(row=1, column=0, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4filename( filep, "Open file to transcode", [ ("Video files", ("*avi", "*.mkv", "*.mp4")), ("All files", "*.*") ], guiparam['path'])).grid(row=1, column=1, sticky=W + E) Label(filep, text="Encoding paramaters").pack(anchor=W) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) Label(f, text="Select the device to transcode to:").pack(anchor=W) for i in range(len(self.devicelabels)): Radiobutton(f, text=self.devicelabels[i], variable=guiparam['device'], value=i).pack(anchor=W) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(1, weight=1) f.grid_columnconfigure(3, weight=1) Label(f, text="Select output dir (Please read the manual):").grid( row=0, column=0) Radiobutton(f, text="Same dir as source", variable=guiparam['destchoice'], value=1).grid(row=1, column=0, sticky=W) Radiobutton(f, text="To this dir", variable=guiparam['destchoice'], value=2).grid(row=2, column=0, sticky=W) Radiobutton(f, text="First to one dir and then to another", variable=guiparam['destchoice'], value=3).grid(row=3, column=0, sticky=W) Entry(f, textvariable=guiparam['dest']).grid(row=2, column=1, sticky=W + E) Entry(f, textvariable=guiparam['dest']).grid(row=3, column=1, sticky=W + E) Entry(f, textvariable=guiparam['destfinal']).grid(row=3, column=3, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Select directory", guiparam['dest'])).grid( row=2, column=2, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Select directory", guiparam['dest'])).grid( row=3, column=2, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Select directory", guiparam['destfinal'])).grid( row=3, column=4, sticky=W + E) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(1, weight=1) f.grid_columnconfigure(3, weight=1) Label(f, text="Tag langugage ID (en for english, fr for french, etc...):" ).grid(row=0, column=0) Entry(f, textvariable=guiparam['taglan']).grid(row=0, column=1, sticky=W + E) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(1, weight=1) f.grid_columnconfigure(3, weight=1) Label(f, text="XBMC .nfo prefs").grid(row=1, column=0) Label( f, text= "Subtitle download langugage ID (empty for no download, eng for english, fre for french, etc...):" ).grid(row=2, column=0) Entry(f, textvariable=guiparam['sublan']).grid(row=2, column=1, sticky=W + E) Label(f, text="Movie set (empty for None):").grid(row=3, column=0) Entry(f, textvariable=guiparam['movieset']).grid(row=3, column=1, sticky=W + E) f = Frame(filep, padx=2, pady=2) f.pack() Button(f, text="Go", command=lambda: guiparam['returnval'].set(True), width=20).grid(row=0, column=0, sticky=W) Button(f, text="Cancel", command=lambda: guiparam['returnval'].set(False), width=20).grid(row=0, column=1, sticky=E) self.wait_variable(guiparam['returnval']) filep.destroy() return guiparam
def adddirgui(self): self.addfile(OSTools.browse4dir(self, "Open dir to add"))
def addfilegui(self, path=None, prefonly=False): guiparam = {} guiparam['path'] = StringVar() guiparam['device'] = IntVar() guiparam['destchoice'] = IntVar() guiparam['dest'] = StringVar() guiparam['destfinal'] = StringVar() guiparam['returnval'] = BooleanVar(False) guiparam['taglan'] = StringVar() guiparam['sublan'] = StringVar() guiparam['movieset'] = StringVar() GP = self.getglobalparamcbk() if path != None: guiparam['path'].set(path) guiparam['destchoice'].set(1) if GP['DESTDIR'] != "": guiparam['dest'].set(GP['DESTDIR']) if GP['FINALDIR'] != "": guiparam['destfinal'].set(GP['FINALDIR']) guiparam['destchoice'].set(3) else: guiparam['destchoice'].set(2) guiparam['device'].set(GP['DEVICECONFS']) guiparam['taglan'].set(GP['TAGLAN']) guiparam['sublan'].set(GP['SUBLAN']) guiparam['movieset'].set(GP['MOVIESET']) filep = Toplevel(self, padx=10, pady=10) filep.protocol("WM_DELETE_WINDOW", "pass") if not prefonly: f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(0, weight=1) Label(f, text="Select the file to transcode:").grid(row=0, column=0) Entry(f, textvariable=guiparam['path']).grid(row=1, column=0, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4filename(filep, "Open file to transcode", [ ("Video files", ("*avi", "*.mkv", "*.mp4")), ("All files", "*.*")], guiparam['path'])).grid(row=1, column=1, sticky=W + E) Label(filep, text="Encoding paramaters").pack(anchor=W) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) Label(f, text="Select the device to transcode to:").pack(anchor=W) for i in range(len(self.devicelabels)): Radiobutton(f, text=self.devicelabels[i], variable=guiparam['device'], value=i).pack(anchor=W) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(1, weight=1) f.grid_columnconfigure(3, weight=1) Label(f, text="Select output dir (Please read the manual):").grid(row=0, column=0) Radiobutton(f, text="Same dir as source", variable=guiparam['destchoice'], value=1).grid(row=1, column=0, sticky=W) Radiobutton(f, text="To this dir", variable=guiparam['destchoice'], value=2).grid(row=2, column=0, sticky=W) Radiobutton(f, text="First to one dir and then to another", variable=guiparam['destchoice'], value=3).grid( row=3, column=0, sticky=W) Entry(f, textvariable=guiparam['dest']).grid(row=2, column=1, sticky=W + E) Entry(f, textvariable=guiparam['dest']).grid(row=3, column=1, sticky=W + E) Entry(f, textvariable=guiparam['destfinal']).grid(row=3, column=3, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Select directory", guiparam['dest'])).grid( row=2, column=2, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Select directory", guiparam['dest'])).grid( row=3, column=2, sticky=W + E) Button(f, text="Browse", command=lambda: OSTools.browse4dir(filep, "Select directory", guiparam['destfinal'])).grid(row=3, column=4, sticky=W + E) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(1, weight=1) f.grid_columnconfigure(3, weight=1) Label(f, text="Tag langugage ID (en for english, fr for french, etc...):").grid(row=0, column=0) Entry(f, textvariable=guiparam['taglan']).grid(row=0, column=1, sticky=W + E) f = Frame(filep, border=1, relief=SUNKEN, padx=2, pady=2) f.pack(anchor=W, fill=BOTH) f.grid_columnconfigure(1, weight=1) f.grid_columnconfigure(3, weight=1) Label(f, text="XBMC .nfo prefs").grid(row=1, column=0) Label(f, text="Subtitle download langugage ID (empty for no download, eng for english, fre for french, etc...):").grid( row=2, column=0) Entry(f, textvariable=guiparam['sublan']).grid(row=2, column=1, sticky=W + E) Label(f, text="Movie set (empty for None):").grid(row=3, column=0) Entry(f, textvariable=guiparam['movieset']).grid(row=3, column=1, sticky=W + E) f = Frame(filep, padx=2, pady=2) f.pack() Button(f, text="Go", command=lambda: guiparam['returnval'].set(True), width=20).grid(row=0, column=0, sticky=W) Button(f, text="Cancel", command=lambda: guiparam['returnval'].set(False), width=20).grid(row=0, column=1, sticky=E) self.wait_variable(guiparam['returnval']) filep.destroy() return guiparam