From f2656765a27a38b1a9e5602c3430dde1cbc361f1 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Fri, 16 Jan 2026 19:02:53 +0100 Subject: Transfer book by book instead of all books --- src/book_transfer.py | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'src/book_transfer.py') diff --git a/src/book_transfer.py b/src/book_transfer.py index 3bda52f..073fa9c 100644 --- a/src/book_transfer.py +++ b/src/book_transfer.py @@ -12,13 +12,13 @@ import src.str_format as str_format class BookTransfer(Gtk.Window): - def __init__(self, parent_window, ereader, book_id, data, paths): + def __init__(self, parent_window, ereader, book_id, data, path): Gtk.Window.__init__(self) self._ereader = ereader self._book_id = book_id self._data = data - self._paths = paths + self._path = path utils.configure_dialog(self, parent_window, data['title'], width=None, height=None, allow_escape=False) @@ -26,9 +26,8 @@ class BookTransfer(Gtk.Window): self.set_child(self._box) utils.set_margin(self._box, 20) - for path in paths: - basename = os.path.basename(path) - self._box.append(utils.label(basename)) + basename = os.path.basename(path) + self._box.append(utils.label(basename)) self._spinner = Gtk.Spinner() self._spinner.start() @@ -43,24 +42,23 @@ class BookTransfer(Gtk.Window): self._box.append(utils.label('✔')) def _transfer_books_daemon(self): - for path in self._paths: - self._transfer_book(path) + self._transfer_book() GLib.idle_add(self._complete_animation) - def _transfer_book(self, path): - dest = self._dest_name(path) - if path.suffix in ['.mobi', '.azw3']: + def _transfer_book(self): + dest = self._dest_name() + if self._path.suffix in ['.mobi', '.azw3']: # Copy os.makedirs(os.path.dirname(dest), exist_ok=True) - shutil.copyfile(path, dest) + shutil.copyfile(self._path, dest) else: # Convert os.makedirs(os.path.dirname(dest), exist_ok=True) - subprocess.run(['ebook-convert', path, dest]) + subprocess.run(['ebook-convert', self._path, dest]) - def _dest_name(self, path): + def _dest_name(self): safe_author = str_format.safe_path(self._data['authors'][0]) if len(self._data['authors']) > 0 else self._book_id safe_title = str_format.safe_path(self._data['title']) - basename_no_ext = str_format.safe_path(os.path.splitext(os.path.basename(path))[0]) - ext = path.suffix if path.suffix in ['.mobi', '.azw3'] else '.mobi' + basename_no_ext = str_format.safe_path(os.path.splitext(os.path.basename(self._path))[0]) + ext = self._path.suffix if self._path.suffix in ['.mobi', '.azw3'] else '.mobi' return f'{self._ereader}/{safe_author}-{safe_title}-{basename_no_ext}{ext}' -- cgit v1.2.3