Exemple #1
0
    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)
Exemple #2
0
    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()