def play_pause_chapter(self, book: Book, chapter: Chapter): if not book or not chapter: log.error("Cannot play chapter which is None.") reporter.error("player", "Cannot play chapter which is None.") return self._play_chapter(book, chapter) book.position = chapter.id
def _update_book_position(self, book: BookModel, progress: int): try: book_model = Book(self._db, book.id) except BookIsEmpty: log.error("Could not restore book position because book is empty") return completed_chapter_length = 0 for chapter in book_model.chapters: old_position = progress if completed_chapter_length + chapter.length > old_position: chapter.position = chapter.start_position + ( (old_position - completed_chapter_length) * 10**9) book_model.position = chapter.id return else: completed_chapter_length += chapter.length book_model.position = 0
def play_pause_chapter(self, book: Book, chapter: Chapter): if not book or not chapter: log.error("Cannot play chapter which is None.") reporter.error("player", "Cannot play chapter which is None.") return if self._book and self._book.current_chapter == chapter: self.play_pause() return if self._book != book: self._load_book(book) self._load_chapter(chapter) self._gst_player.play() book.position = chapter.id