File: _validation.py

package info (click to toggle)
ansible-core 2.19.0~beta6-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 32,628 kB
  • sloc: python: 180,313; cs: 4,929; sh: 4,601; xml: 34; makefile: 21
file content (14 lines) | stat: -rw-r--r-- 558 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from __future__ import annotations

import keyword


def validate_collection_name(collection_name: object, name: str = 'collection_name') -> None:
    """Validate a collection name."""
    if not isinstance(collection_name, str):
        raise TypeError(f"{name} must be {str} instead of {type(collection_name)}")

    parts = collection_name.split('.')

    if len(parts) != 2 or not all(part.isidentifier() and not keyword.iskeyword(part) for part in parts):
        raise ValueError(f"{name} must consist of two non-keyword identifiers separated by '.'")