from plesk_mail_migrator.core.progress.backup.backup_progress import BackupProgress


class BackupProgressEmpty(BackupProgress):
    """Class to track progress of mail messages backup - when we don't want the progress to be reported anywhere"""

    def set_step(self, step):
        """Set step of backup, which is currently executing (see STEP_* constants)

        :type step: str | unicode
        :rtype: None
        """
        pass

    def set_error(self, error_id, error_message):
        """Set error which occurred during backup

        Use ERROR_* constants for error ID, and comprehensive human-readable error message.

        :type error_id: str | unicode
        :type error_message: str | unicode
        :rtype: None
        """
        pass

    def set_imap_vendor(self, imap_vendor):
        """
        Set imap vendor name in backup progress file
        :param imap_vendor: str | unicode
        :rtype: None
        """
        pass

    def set_imap_host_detection_method(self, method):
        """Set identifier of a method which actually detected IMAP host

        Check plesk_mail_migrator.providers.imap.server_detect.detect for more details.

        :rtype: None
        """
        pass

    def set_autodetected_imap_host(self, imap_host):
        """Set hostname of automatically detected IMAP host

        Check plesk_mail_migrator.providers.imap.server_detect.detect for more details.

        :type imap_host: str | unicode
        :rtype: None
        """
        pass
