Пример #1
0
    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)
Пример #2
0
    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
Пример #3
0
 def adddirgui(self):
     self.addfile(OSTools.browse4dir(self, "Open dir to add"))
Пример #4
0
    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