# coding=utf-8

from enum import Enum
from corehttp.utils import CaseInsensitiveEnumMeta


class ExtensibleString(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Verify enum member names that are special words using extensible enum (union)."""

    AND = "and"
    """AND."""
    AS = "as"
    """AS."""
    ASSERT = "assert"
    """ASSERT."""
    ASYNC = "async"
    """ASYNC."""
    AWAIT = "await"
    """AWAIT."""
    BREAK = "break"
    """BREAK."""
    CLASS = "class"
    """CLASS."""
    CONSTRUCTOR = "constructor"
    """CONSTRUCTOR."""
    CONTINUE = "continue"
    """CONTINUE."""
    DEF = "def"
    """DEF."""
    DEL = "del"
    """DEL."""
    ELIF = "elif"
    """ELIF."""
    ELSE = "else"
    """ELSE."""
    EXCEPT = "except"
    """EXCEPT."""
    EXEC = "exec"
    """EXEC."""
    FINALLY = "finally"
    """FINALLY."""
    FOR = "for"
    """FOR."""
    FROM = "from"
    """FROM."""
    GLOBAL = "global"
    """GLOBAL."""
    IF = "if"
    """IF."""
    IMPORT = "import"
    """IMPORT."""
    IN = "in"
    """IN."""
    IS = "is"
    """IS."""
    LAMBDA = "lambda"
    """LAMBDA."""
    NOT = "not"
    """NOT."""
    OR = "or"
    """OR."""
    PASS = "pass"
    """PASS."""
    RAISE = "raise"
    """RAISE."""
    RETURN = "return"
    """RETURN."""
    TRY = "try"
    """TRY."""
    WHILE = "while"
    """WHILE."""
    WITH = "with"
    """WITH."""
    YIELD = "yield"
    """YIELD."""
