Source code for xtempmail.utils

from __future__ import annotations
from enum import Enum
from typing import Union
from .error import (
    InvalidPIN
)


def isoformat_translate(format: str):
    split = format.split(' ')[1:]
    index = [
        'jan', 'feb', 'mar', 'apr', 'may', 'jun',
        'jul', 'aug', 'sep', 'oct', 'nov', 'dec'
    ].index(split[1].lower())+1
    month = index.__str__().zfill(2)
    return f'{split[2]}-{month}-{split[0]}T{split[3]}'


def err_code(c: int):
    if c == 1021:
        return InvalidPIN


[docs]class EMAIL(Enum): MAILTO_PLUS = 'mailto.plus' FEXPOST_COM = 'fexpost.com' FEXBOX_ORG = 'fexbox.org' MAILBOX_IN_UA = 'mailbok.in.ua' CHITTHI_IN = 'chitthi.in' FEXTEMP_COM = 'fextemp.com' ANY_PINK = 'any.pink' MEREPOST_COM = 'merepost.com' def apply(self, name: str) -> str: return name + '@' + self.value @classmethod def istemp(cls, email: Union[str, Extension]): mail = email.ex[1:] if isinstance( email, Extension) else ( email.split('@')[email.split('@').__len__() == 2]) for e in cls.__members__.values(): if e.value == mail: return True return False
class Extension: def __init__(self, ex: str): self.ex = '@' + ex def apply(self, text: str) -> str: return f"{text}{self.ex.__str__()}" def __repr__(self): return self.ex def __str__(self): return self.ex extension = [Extension(i.value) for i in EMAIL.__members__.values()]