def nextId()

in client/securedrop_client/gui/conversation/export/export_wizard_page.py [0:0]


    def nextId(self) -> int:
        """
        Override builtin QWizardPage nextId() method to create custom control flow.
        """
        if self.status is not None:
            if self.status in (
                ExportStatus.DEVICE_WRITABLE,
                ExportStatus.SUCCESS_EXPORT,
                ExportStatus.ERROR_UNMOUNT_VOLUME_BUSY,
                ExportStatus.ERROR_EXPORT_CLEANUP,
            ):
                return Pages.EXPORT_DONE
            elif self.status in (
                ExportStatus.DEVICE_LOCKED,
                ExportStatus.ERROR_UNLOCK_LUKS,
                ExportStatus.ERROR_UNLOCK_GENERIC,
            ):
                return Pages.UNLOCK_USB
            elif self.status in (
                ExportStatus.NO_DEVICE_DETECTED,
                ExportStatus.MULTI_DEVICE_DETECTED,
                ExportStatus.INVALID_DEVICE_DETECTED,
            ):
                return Pages.INSERT_USB
            elif self.status in self.UNRECOVERABLE_ERRORS:
                return Pages.ERROR

        return super().nextId()