from securedrop_export.status import BaseStatus


class Status(BaseStatus):
    # Printer preflight related errors
    ERROR_MULTIPLE_PRINTERS_FOUND = "ERROR_MULTIPLE_PRINTERS_FOUND"
    ERROR_PRINTER_NOT_FOUND = "ERROR_PRINTER_NOT_FOUND"
    ERROR_PRINTER_NOT_SUPPORTED = "ERROR_PRINTER_NOT_SUPPORTED"
    ERROR_PRINTER_DRIVER_UNAVAILABLE = "ERROR_PRINTER_DRIVER_UNAVAILABLE"
    ERROR_PRINTER_INSTALL = "ERROR_PRINTER_INSTALL"
    ERROR_PRINTER_URI = "ERROR_PRINTER_URI"  # new

    # Print error
    ERROR_PRINT = "ERROR_PRINT"
    ERROR_UNPRINTABLE_TYPE = "ERROR_UNPRINTABLE_TYPE"
    ERROR_MIMETYPE_UNSUPPORTED = "ERROR_MIMETYPE_UNSUPPORTED"
    ERROR_MIMETYPE_DISCOVERY = "ERROR_MIMETYPE_DISCOVERY"

    # New
    PREFLIGHT_SUCCESS = "PRINTER_PREFLIGHT_SUCCESS"
    PRINT_TEST_PAGE_SUCCESS = "PRINTER_TEST_SUCCESS"
    PRINT_SUCCESS = "PRINTER_SUCCESS"

    ERROR_UNKNOWN = "ERROR_GENERIC"  # Unknown printer error, backwards-compatible
