File: utils.py

package info (click to toggle)
python-moto 5.1.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 116,520 kB
  • sloc: python: 636,725; javascript: 181; makefile: 39; sh: 3
file content (21 lines) | stat: -rw-r--r-- 648 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import string
from email.utils import parseaddr
from typing import Optional

from moto.moto_api._internal import mock_random as random


def random_hex(length: int) -> str:
    return "".join(random.choice(string.ascii_lowercase) for x in range(length))


def get_random_message_id() -> str:
    return f"{random_hex(16)}-{random_hex(8)}-{random_hex(4)}-{random_hex(4)}-{random_hex(4)}-{random_hex(12)}-{random_hex(6)}"


def is_valid_address(addr: str) -> Optional[str]:
    _, address = parseaddr(addr)
    address_parts = address.split("@")
    if len(address_parts) != 2 or not address_parts[1]:
        return "Missing domain"
    return None