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
Example #2
0
 def addbtn(self):
     self.addfile(OSTools.browse4filename(self, "Open file to add",
                                          [("Video files", ("*avi", "*.mkv", "*.mp4")), ("All files", "*.*")]))
     return False
    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