from enum import Enum from celery import states class SendingTaskStatus(Enum): PENDING = "pending" SUCCESS = "success" FAIL = "fail" @classmethod def from_celery_state(cls, state): return { states.PENDING: cls.PENDING, states.RECEIVED: cls.PENDING, states.STARTED: cls.PENDING, states.RETRY: cls.PENDING, states.SUCCESS: cls.SUCCESS, states.FAILURE: cls.FAIL, states.REVOKED: cls.FAIL, states.REJECTED: cls.FAIL, states.IGNORED: cls.FAIL, }.get(state, None) class AttachmentTypeFile(str, Enum): CSV = "text/csv" XML = "text/xml" HTML = "text/html" TEXT = "text/plain" PDF = "application/pdf" XLSX = "application/xlsx" JSON = "application/json" GIF = "image/gif" JPEG = "image/jpeg" PNG = "image/png" SVG = "image/svg" class SystemEvents(Enum): sending_email = "Sending email" email_click_by_link = "Email click by link"