Shift to conversion exit codes by 128

Distinguish from podman or other errors in called binaries by shifting
the error codes by 128.
This commit is contained in:
deeplow 2023-09-12 12:56:26 +01:00
parent b4c3e07d36
commit 8e4f04a52e
No known key found for this signature in database
GPG key ID: 577982871529A52A

View file

@ -1,9 +1,11 @@
from typing import List, Optional, Type from typing import List, Optional, Type
# XXX: errors start at 128 for conversion-related issues
ERROR_SHIFT = 128
class ConversionException(Exception): class ConversionException(Exception):
error_message = "Unspecified error" error_message = "Unspecified error"
error_code = -1 error_code = ERROR_SHIFT
def __init__(self, error_message: Optional[str] = None) -> None: def __init__(self, error_message: Optional[str] = None) -> None:
if error_message: if error_message:
@ -19,22 +21,22 @@ class ConversionException(Exception):
class DocFormatUnsupported(ConversionException): class DocFormatUnsupported(ConversionException):
error_code = 10 error_code = ERROR_SHIFT + 10
error_message = "The document format is not supported" error_message = "The document format is not supported"
class DocFormatUnsupportedHWPQubes(DocFormatUnsupported): class DocFormatUnsupportedHWPQubes(DocFormatUnsupported):
error_code = 16 error_code = ERROR_SHIFT + 16
error_message = "HWP / HWPX formats are not supported in Qubes" error_message = "HWP / HWPX formats are not supported in Qubes"
class LibreofficeFailure(ConversionException): class LibreofficeFailure(ConversionException):
error_code = 20 error_code = ERROR_SHIFT + 20
error_message = "Conversion to PDF with LibreOffice failed" error_message = "Conversion to PDF with LibreOffice failed"
class InvalidGMConversion(ConversionException): class InvalidGMConversion(ConversionException):
error_code = 30 error_code = ERROR_SHIFT + 30
error_message = "Invalid conversion (Graphics Magic)" error_message = "Invalid conversion (Graphics Magic)"
def __init__(self, error_message: str) -> None: def __init__(self, error_message: str) -> None:
@ -42,26 +44,26 @@ class InvalidGMConversion(ConversionException):
class PagesException(ConversionException): class PagesException(ConversionException):
error_code = 40 error_code = ERROR_SHIFT + 40
class NoPageCountException(PagesException): class NoPageCountException(PagesException):
error_code = 41 error_code = ERROR_SHIFT + 41
error_message = "Number of pages could not be extracted from PDF" error_message = "Number of pages could not be extracted from PDF"
class PDFtoPPMException(ConversionException): class PDFtoPPMException(ConversionException):
error_code = 50 error_code = ERROR_SHIFT + 50
error_message = "Error converting PDF to Pixels (pdftoppm)" error_message = "Error converting PDF to Pixels (pdftoppm)"
class PDFtoPPMInvalidHeader(PDFtoPPMException): class PDFtoPPMInvalidHeader(PDFtoPPMException):
error_code = 51 error_code = ERROR_SHIFT + 51
error_message = "Error converting PDF to Pixels (Invalid PPM header)" error_message = "Error converting PDF to Pixels (Invalid PPM header)"
class PDFtoPPMInvalidDepth(PDFtoPPMException): class PDFtoPPMInvalidDepth(PDFtoPPMException):
error_code = 52 error_code = ERROR_SHIFT + 52
error_message = "Error converting PDF to Pixels (Invalid PPM depth)" error_message = "Error converting PDF to Pixels (Invalid PPM depth)"