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()