ruạṛ
from enum import Enum class ErrorCode(str, Enum): # Generic INTERNAL_ERROR = "BART_ERR_INTERNAL_ERROR" UNKNOWN_ERROR = "BART_ERR_UNKNOWN_ERROR" # Inputs / validation VALIDATION_FAILED = "BART_ERR_VALIDATION_FAILED" MISSING_PARAMETER = "BART_ERR_MISSING_PARAMETER" # Filesystem / OS FILE_NOT_FOUND = "BART_ERR_FILE_NOT_FOUND" PERMISSION_DENIED = "BART_ERR_PERMISSION_DENIED" # Network / IO NETWORK_ERROR = "BART_ERR_NETWORK_ERROR" TIMEOUT = "BART_ERR_TIMEOUT" # Process / command exec COMMAND_FAILED = "BART_ERR_COMMAND_FAILED" # Extract Backup (Historic/Realtime) BAD_MOUNT = "BART_ERR_BAD_MOUNT" DB_NOT_FOUND = "BART_ERR_DB_NOT_FOUND" PATH_NOT_FOUND = "BART_ERR_PATH_NOT_FOUND" USER_NOT_FOUND = "BART_ERR_USER_NOT_FOUND" DEV_PATH_NOT_FOUND = "BART_ERR_DEV_PATH_NOT_FOUND" ISCSI_CMD_FAILED = "BART_ERR_ISCSI_CMD_FAILED" # Manual Backup HOMEDIR_NOT_FOUND = "BART_ERR_HOMEDIR_NOT_FOUND" MYSQL_DIR_NOT_FOUND = "BART_ERR_MYSQL_DIR_NOT_FOUND" # Restore RSYNC_FAILED_DURING_RESTORE = "BART_ERR_RSYNC_FAILED_DURING_RESTORE" DB_CREATE_CMD_FAILED = "BART_ERR_DB_CREATE_CMD_FAILED" SQL_DUMP_CMD_FAILED = "BART_ERR_SQL_DUMP_CMD_FAILED" SQL_FILE_NOT_FOUND = "BART_ERR_SQL_FILE_NOT_FOUND" CREATE_FILE_NOT_FOUND = "BART_ERR_CREATE_FILE_NOT_FOUND" SET_PERMISSION_FAILED = "BART_ERR_SET_PERMISSION_FAILED" DB_DROP_CMD_FAILED = "BART_ERR_DB_DROP_CMD_FAILED" CPANEL_DBMAP_REBUILD_FAILED = "BART_ERR_CPANEL_DBMAP_REBUILD_FAILED" # Realtime Backup RSYNC_FAILED_DURING_BACKUP = "BART_ERR_RSYNC_FAILED_DURING_BACKUP" # Map substrings in error messages to ErrorCodes ERROR_PATTERNS = { "No such file or directory": ErrorCode.FILE_NOT_FOUND, "Permission denied": ErrorCode.PERMISSION_DENIED, "Connection timed out": ErrorCode.TIMEOUT, "timed out": ErrorCode.TIMEOUT, "exit code": ErrorCode.COMMAND_FAILED, "command failed": ErrorCode.COMMAND_FAILED, "could not be mounted": ErrorCode.BAD_MOUNT, "database not found in the archive": ErrorCode.DB_NOT_FOUND, "path does not exist in the backup": ErrorCode.PATH_NOT_FOUND, "user does not exist in the backup": ErrorCode.USER_NOT_FOUND, "device path does not exist": ErrorCode.DEV_PATH_NOT_FOUND, "iscsiadm:": ErrorCode.ISCSI_CMD_FAILED }
cải xoăn