def delete_pages(self, page_numbers: list, skip_migration=False): """ Deletes pages with given order numbers from the documents. """ if not isinstance(page_numbers, list): logger.error("Expecting list argument") return # delete pages new_version = default_storage.delete_pages( doc_path=self.path, page_numbers=page_numbers, skip_migration=skip_migration) if new_version == self.version: raise Exception("Expecting version to be incremented") self.version = new_version # total pages before delete total_page_count = self.pages.count() self.pages.filter(number__in=page_numbers).delete() # update self.page_count attribute self.page_count = self.pages.count() self.save() self.reassign_page_nums_after_delete(page_count=total_page_count, deleted_pages=page_numbers)
def delete_pages( self, page_numbers, skip_migration=False ): """ Deletes pages with given order numbers from the documents. """ if not isinstance(page_numbers, list): logger.error("Expecting list argument") return # delete pages new_version = default_storage.delete_pages( doc_path=self.path, page_numbers=page_numbers, skip_migration=skip_migration ) if new_version == self.version: raise Exception("Expecting version to be incremented") self.version = new_version self.save() # update pages model self.recreate_pages()