Esempio n. 1
0
    def remove_task(self, row, scan=True):
        # 当删除正在下载的任务时, 直接调用stop_worker(), 它会自动删除本地的
        # 文件片段
        if not row:
            return

        # 如果任务尚未下载完, 弹出一个对话框, 让用户确认删除
        if row[STATE_COL] != State.FINISHED:
            if self.app.profile['confirm-download-deletion']:
                dialog = ConfirmDialog(self.app, False)
                response = dialog.run()
                dialog.destroy()
                if response != Gtk.ResponseType.YES:
                    return

        if row[STATE_COL] == State.DOWNLOADING:
            self.stop_worker(row)
        elif row[CURRSIZE_COL] < row[SIZE_COL]:
            filepath, tmp_filepath, conf_filepath = get_tmp_filepath(
                    row[SAVEDIR_COL], row[SAVENAME_COL])
            if os.path.exists(tmp_filepath):
                os.remove(tmp_filepath)
            if os.path.exists(conf_filepath):
                os.remove(conf_filepath)
        self.app_infos.pop(row[FSID_COL], None)
        self.remove_task_db(row[FSID_COL])
        tree_iter = row.iter
        if tree_iter:
            self.liststore.remove(tree_iter)
        if scan:
            self.scan_tasks()
Esempio n. 2
0
    def remove_task(self, row, scan=True):
        # 当删除正在下载的任务时, 直接调用stop_worker(), 它会自动删除本地的
        # 文件片段
        if not row:
            return

        # 如果任务尚未下载完, 弹出一个对话框, 让用户确认删除
        if row[STATE_COL] != State.FINISHED:
            if self.app.profile['confirm-download-deletion']:
                dialog = ConfirmDialog(self.app, False)
                response = dialog.run()
                dialog.destroy()
                if response != Gtk.ResponseType.YES:
                    return

        if row[STATE_COL] == State.DOWNLOADING:
            self.stop_worker(row)
        elif row[CURRSIZE_COL] < row[SIZE_COL]:
            filepath, tmp_filepath, conf_filepath = get_tmp_filepath(
                row[SAVEDIR_COL], row[SAVENAME_COL])
            if os.path.exists(tmp_filepath):
                os.remove(tmp_filepath)
            if os.path.exists(conf_filepath):
                os.remove(conf_filepath)
        self.app_infos.pop(row[FSID_COL], None)
        self.remove_task_db(row[FSID_COL])
        tree_iter = row.iter
        if tree_iter:
            self.liststore.remove(tree_iter)
        if scan:
            self.scan_tasks()
Esempio n. 3
0
 def remove_task(self, row, scan=True):
     # 当删除正在下载的任务时, 直接调用stop_worker(), 它会自动删除本地的
     # 文件片段
     if row[STATE_COL] == State.DOWNLOADING:
         self.stop_worker(row)
     elif row[CURRSIZE_COL] < row[SIZE_COL]:
         tmp_filepath = get_tmp_filepath(row[SAVEDIR_COL],
                 row[SAVENAME_COL])[1]
         if os.path.exists(tmp_filepath):
             os.remove(tmp_filepath)
     self.app_infos.pop(row[FSID_COL], None)
     self.remove_task_db(row[FSID_COL])
     tree_iter = row.iter
     if tree_iter:
         self.liststore.remove(tree_iter)
     if scan:
         self.scan_tasks()