Пример #1
0
def test_dl_dry_cancel():
    bdl = bd.BulkDownloader('https://feeds.radiokawa.com/podcast_nawak.xml',
                            './dl')
    assert len(bdl.list_mp3()) > 0
    cb = Callback()
    cb.cancel()
    bdl.download_mp3(dry_run=True, cb=cb)
Пример #2
0
    def __init__(self, path=""):
        self.configpath = path
        self.root = Tk()
        self.cameras = Camera()
        self.parser = Parser()
        self.gui = GUI(root=self.root)
        self.callback = Callback(self.root)

        self.isImage_active = False
        self.isVideo_active = False
        self.isCamera_active = False
        self.isObject_active = False
Пример #3
0
    def __init__(self, master):
        Frame.__init__(self, master)
        master.title('Podcast Bulk Downloader v{}'.format(pbd_version))
        # master.geometry('500x800')
        style = ttk.Style()
        self._style = StringVar()
        if 'vista' in style.theme_names():
            self._style.set('vista')
        else:
            self._style.set('default')
        style.theme_use(self._style.get())

        # Layout configuration
        columns = 0
        while columns < 10:
            master.columnconfigure(columns, weight=1)
            columns += 1
        rows = 0
        while rows < 5:
            w = 1 if rows != 3 else 5
            master.rowconfigure(rows, weight=w)
            rows += 1

        # First line
        self._label_rss = ttk.Label(master, text='Feed')
        self._label_rss.grid(row=0, column=0, padx=2, pady=2, sticky=W + E)
        self._entry_rss = ttk.Entry(master)
        self._entry_rss.grid(row=0,
                             column=1,
                             padx=2,
                             pady=2,
                             columnspan=9,
                             sticky=W + E)

        # Second line
        self._label_folder = ttk.Label(master, text='Folder')
        self._label_folder.grid(row=1, column=0, padx=2, sticky=W + E)
        self._entry_folder = ttk.Entry(master)
        self._entry_folder.grid(row=1,
                                column=1,
                                padx=2,
                                columnspan=8,
                                sticky=W + E)
        self._btn_nav = ttk.Button(master,
                                   text='...',
                                   command=self.browse_directory)
        self._btn_nav.grid(row=1, column=9, padx=2, pady=2, sticky=W + E)

        # Third line
        self._overwrite = IntVar()
        self._cb_overwrite = ttk.Checkbutton(master,
                                             text='Overwrite existing files',
                                             variable=self._overwrite,
                                             onvalue=1,
                                             offvalue=0)
        self._cb_overwrite.grid(row=2,
                                column=0,
                                columnspan=2,
                                sticky=W + E,
                                padx=2,
                                pady=2)
        self._btn_fetch = ttk.Button(master, text='Fetch', command=self.fetch)
        self._btn_fetch.grid(row=2,
                             column=7,
                             columnspan=1,
                             sticky=W + E,
                             padx=2,
                             pady=2)
        self._btn_download = ttk.Button(master,
                                        text='Download',
                                        command=self.download)
        self._btn_download.grid(row=2,
                                column=8,
                                columnspan=1,
                                sticky=W + E,
                                padx=2,
                                pady=2)
        self._btn_cancel = ttk.Button(master,
                                      text='Cancel',
                                      command=self.cancel)
        self._btn_cancel.grid(row=2,
                              column=9,
                              columnspan=1,
                              sticky=W + E,
                              padx=2,
                              pady=2)

        # Fourth line
        self._progress_bar = ttk.Progressbar(master,
                                             orient='horizontal',
                                             mode='determinate')
        self._progress_bar.grid(row=3,
                                column=0,
                                columnspan=10,
                                sticky=W + E + N + S,
                                padx=2,
                                pady=2)
        self._progress_bar["maximum"] = 100

        # Fifth line
        self._text = Text(master)
        self._text.grid(row=4,
                        column=0,
                        columnspan=10,
                        sticky=W + E + N + S,
                        padx=2,
                        pady=2)
        self._text.configure(state=DISABLED)

        self._logger = Log2Text(self._text)
        logging.getLogger().setLevel(logging.INFO)
        logging.getLogger().addHandler(self._logger)

        # Utilities
        self._dl = BulkDownloader(self._entry_rss.get(),
                                  self._entry_folder.get())
        self._dl_thread = Thread(target=None)
        self._fetch_thread = Thread(target=None)
        self._callback = Callback(self._progress_bar)

        # Launch background task
        self.reset_buttons()
Пример #4
0
def test_list_mp3():
    bdl = bd.BulkDownloader('https://feeds.radiokawa.com/podcast_nawak.xml',
                            './dl')
    cb = Callback()
    assert len(bdl.list_mp3(cb, True)) > 0
Пример #5
0
def test_try_download_cancel(tmp_directory):
    cb = Callback()
    cb.cancel()
    assert not bd.try_download('https://feeds.radiokawa.com/podcast_nawak.xml',
                               os.path.join(tmp_directory, 't.xml'), 1, 1, cb)
Пример #6
0
def test_try_download_ok(tmp_directory):
    cb = Callback()
    assert bd.try_download('http://xerto.free.fr/newban.jpg',
                           os.path.join(tmp_directory, 'newban.jpg'), 2, 1, cb)