Mini Shell

Direktori : /opt/imh-python/lib/python3.9/site-packages/traitlets/utils/
Upload File :
Current File : //opt/imh-python/lib/python3.9/site-packages/traitlets/utils/sentinel.py

"""Sentinel class for constants with useful reprs"""

# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
from __future__ import annotations

import typing as t


class Sentinel:
    def __init__(self, name: str, module: t.Any, docstring: str | None = None) -> None:
        self.name = name
        self.module = module
        if docstring:
            self.__doc__ = docstring

    def __repr__(self) -> str:
        return str(self.module) + "." + self.name

    def __copy__(self) -> Sentinel:
        return self

    def __deepcopy__(self, memo: t.Any) -> Sentinel:
        return self

Zerion Mini Shell 1.0